html2canvas 生成图片抛出异常

原因:需要生成的dom内包含base64图片,导致html2canvas陷入递归死循环,栈堆占满

解决:替换base64图片地址

1.接口生成网络图片

2.转化本地blob地址

function dataURLtoBlob(dataurl) {

        var arr = dataurl.split(','),

            mime = arr[0].match(/:(.*?);/)[1],

            bstr = atob(arr[1]),

            n = bstr.length,

            u8arr = new Uint8Array(n);

        while (n--) {

            u8arr[n] = bstr.charCodeAt(n);

        }

        return new Blob([u8arr], { type: mime });

    }

URL.createObjectURL(dataURLtoBlob(base64地址))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。