无法设置属性' src'在JavaScript中为null

时间:2015-08-05 11:00:30

标签: javascript null runtime-error src

我正在更改一些现有的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;
        }

任何帮助将不胜感激!

2 个答案:

答案 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;
}