zoukankan      html  css  js  c++  java
  • 前端截长屏功能

    使用 npm包 js_screen_shots 可以实现前端截长屏功能,这个包集成了两个方法 html2canvasCanvas2Image

    先使用 把页面转成 canvas,然后 Canvas2Image 把转后的 canvas作为图片下载

    import all from 'js_screen_shots'
     
    all.html2canvas(document.getElementsByTagName('body')[0]).then(canvas => {
      all.Canvas2Image.saveAsPNG(canvas)
      loading.close()
    });
    

    对于有最大高度的模块,可以在 html2canvas 之前把高设置为 'auto',下载后再还原、以下是我项目中的代码

    import all from 'js_screen_shots'
    import { ElLoading } from 'element-plus'
    export default {
      setup(props) {
        //导出长屏方法
        function capturePage() {
          const loading = ElLoading.service({
            lock: false,
            text: '导出中...',
          })
     
          document.getElementsByClassName('el-main')[0].style.height = 'auto'
          all.html2canvas(document.getElementsByTagName('body')[0], {
            allowTaint: true,
            useCORS: true
          }).then(canvas => {
            // document.body.prepend(canvas)
            all.Canvas2Image.saveAsPNG(canvas)
            document.getElementsByClassName('el-main')[0].style.height = ''
            loading.close()
          });
        }
        return { capturePage }
      }
    }
    

    PS:如果脱离于项目,可以使用一下方法截长图:

    方法一:GoFullPage谷歌插件
    方法二:或者其他工具来截图
    方法三:使用谷歌浏览器控制台(F12打开控制台,Ctrl+Shift+P 输入 screenshot,选择Capture full size screenshot即可),

    笨鸟飞呀飞~
  • 相关阅读:
    jquery 页面滚动到底部事件
    01上古天真论 [音频]
    pyjnius 通过包名获取其他应用程序的名称
    python3 获取当前网络子网ip
    堆排序、快速排序、归并排序总结
    Linux 进程
    链表(转载)
    15-C语言结构体(转载)
    IP地址的分类
    TCP/IP详解
  • 原文地址:https://www.cnblogs.com/geekfeier/p/15696851.html
Copyright © 2011-2022 走看看