截图并复制到粘贴板

安装下载
npm i html2canvas -S

import html2Canvas from ‘html2canvas’

//使用querySelector选择需要截图的块使用id定位
      html2canvas(document.querySelector('#printTable')).then((canvas) => {
        let base64Data = canvas.toDataURL('image/png', 1)
        let blob = null
        base64Data = canvas.toDataURL('image/png', 1) // 此方法可以设置截图质量0-1
        var format = 'image/png'
        //将Base64图片编码转换成blob
        var base64 = base64Data
        var code = window.atob(base64.split(',')[1])
        var aBuffer = new window.ArrayBuffer(code.length)
        var uBuffer = new window.Uint8Array(aBuffer)
        for (var i = 0; i < code.length; i++) {
          uBuffer[i] = code.charCodeAt(i) & 0xff
        }
        try {
          blob = new Blob([uBuffer], { type: format })
        } catch (e) {
          window.BlobBuilder =
            window.BlobBuilder ||
            window.WebKitBlobBuilder ||
            window.MozBlobBuilder ||
            window.MSBlobBuilder
          if (e.name == 'TypeError' && window.BlobBuilder) {
            var bb = new window.BlobBuilder()
            bb.append(uBuffer.buffer)
            blob = bb.getBlob('image/png')
          } else if (e.name == 'InvalidStateError') {
            blob = new Blob([aBuffer], { type: format })
          }
        }
        // eslint-disable-next-line no-undef
        const clipboardItemInput = new ClipboardItem({
          'image/png': blob,
        })
        navigator.clipboard.write([clipboardItemInput])
        console.log('success')
        // 谷歌浏览器截图没有权限的问题解决方案
        // Chrome地址栏输入:chrome://flags/#unsafely-treat-insecure-origin-as-secure     //添加没有权限的网址 http://0.0.0.0:端口号 多个地址用,后分隔并开启为enabled 重启浏览器    

 
 
      })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值