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地址))

你可能感兴趣的:(html2canvas 生成图片抛出异常)