我正在更改一些现有的javascript代码,它将HTML文档中的图像导出到word文档。新功能将捕获HTML中的画布数据,将其转换为.png然后导出,但是我得到了“无法设置属性' src' of null'当代码到达这一部分时:
//Capture all canvas data
var canvasData = markup.find('canvas');
var tempImage = new Image();
////Array to hold of the images
var imageArray = Array();
for (var i = 0; i < canvasData.length; i++) {
tempImage.src = canvasData[i].toDataURL("image/png");
imageArray[i] = tempImage;
tempImage = null;
}
任何帮助将不胜感激!
答案 0 :(得分:2)
正如您所看到的那样,您在循环中使tempImage无效,在第一次迭代之后,它将被赋予一个空值,因此在下一次迭代中,您将尝试将src设置为null。这就是你得到这个错误的原因。在循环中取var tempImage = new Image();
。
for (var i = 0; i < canvasData.length; i++) {
var tempImage = new Image();
tempImage.src = canvasData[i].toDataURL("image/png");
imageArray[i] = tempImage;
tempImage = null;
}
答案 1 :(得分:1)
将var tempImage = new Image();
移至循环内。像
for (var i = 0; i < canvasData.length; i++) {
var tempImage = new Image();
tempImage.src = canvasData[i].toDataURL("image/png");
imageArray[i] = tempImage;
// not really required
// tempImage = null;
}