weixin_53224223
上房就揭瓦
2021-03-04 16:06

html2canvas ios报安全错误

按照网上方法更改html2canvas,增加时间戳

if (isInlineBase64Image(src) || useCORS) {
                                    img.crossOrigin = 'anonymous';
                                }
                                if (src.indexOf('data:image') > -1) { // 图片地址后加时间 base64图片不变
                                    // base64 图片操作
                                    img.src = src;
                                } else {
                                    //path 图片操作
                                    img.src = src + "?" + new Date().getTime();
                                }

js代码:

emitData(e, ownerVm) {

//显示正在加载
                ownerVm.callMethod('isFlagBtn', true)
                console.log(1,‘执行方法’)
                setTimeout(() => {
                    const dom = document.getElementById('poster')
                    window.pageYoffset = 0;
                    document.documentElement.scrollTop = 0;
                    document.body.scrollTop = 0;
                    new html2canvas(dom, {
                        width: dom.clientWidth, //dom 原始宽度
                        height: dom.clientHeight,
                        scrollY: 0,
                        scrollX: 0,
                        useCORS: true,
                    }).then(canvas => {

//隐藏
                        ownerVm.callMethod('isFlagBtn', false)
                        // 将生产的canvas转为base64图片3
                        let img = canvas.toDataURL('image/png')
                        console.log(4,‘获取图片’)

                        //传递图片
                        ownerVm.callMethod('receiveRenderData', img )
                    }).catch(err => {
                        console.log(err, ‘获取失败’)
                    })
                }, 1000)
            }

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答