为什么有时在JavaScript中没有使用drawImage()函数加载某些图像

为什么有时在JavaScript中没有使用drawImage()函数加载某些图像,javascript,image,canvas,image-loading,Javascript,Image,Canvas,Image Loading,我正在使用drawImage()函数在画布上显示一些图像。但当我一次又一次地刷新浏览器时,有时某些图像不会显示。似乎有些图像加载不正确。如何解决这个问题? JavaScript代码是- var imageobj = new Array(); for (var d=0;d<calloutImageArray.length;d++) { imageobj[d] = new Image(); (function(d) { imageobj[d].src

我正在使用
drawImage()
函数在画布上显示一些图像。但当我一次又一次地刷新浏览器时,有时某些图像不会显示。似乎有些图像加载不正确。如何解决这个问题?
JavaScript代码是-

var imageobj = new Array();
for (var d=0;d<calloutImageArray.length;d++)
{
     imageobj[d] = new Image();
     (function(d)
     {
       imageobj[d].src = sitePath+"ATOM/chapter1/book/"+calloutImageArray[d];
      imageobj[d].onload = function()
       {
            ctx.drawImage(imageobj[d], calloutImageArrayX[d], calloutImageArrayY[d],calloutImageArrayW[d], calloutImageArrayH[d]);        // getting value in array with X, Y coordinates & width, height
       }; 
     })(d);
}
var-imageobj=新数组();

对于(var d=0;d)如果我在页面加载后发出警报文本,则可以。但我不希望保留警报文本。是否尝试在onDocumentReady()上调用该方法?上面的是在函数中加载的,默认情况下此函数为load。表示imagesfun();函数imagesfun(){//my code}它在很短的时间内就引发了同样的问题。它不能完全解决这一问题。这听起来像是onload事件在您将回调附加到它之前触发(例如,使用缓存图像)。您应该在附加事件处理程序后尝试设置src