原因:需要生成的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地址))