image.onload在图像完全加载之前启动

image.onload fires before image is completely loaded

本文关键字:加载 启动 onload 图像 image      更新时间:2023-09-26

我正在使用javascript+canvas制作一个游戏。我使用下面的代码来确保

var imgLoaded = 0;
var imgToLoad = multiImgs;
var onImgLoad = function()
{
   imgLoaded++;
   if(imgLoaded == imgToLoad)
   {
      ctx.drawImage()
   }
}
for(var i = 0; i < multiImgs; i++)
{
  images[i] = new Image();
  images[i].onload = onImgLoad();
  images[i].src = 'images/'+i+'.png';
}

此代码有时运行良好,尤其是在缓存图像时。然而,当第一次加载时,有时会出现INDEX_SIZE_ERR:DOM异常1我发现这是由于身高&Quickredfox在这个答案中建议的图像宽度不可用。。。但是这里drawImage只有在加载了所有图像时才被调用?错误主要发生在移动设备

您必须为负载处理程序提供引用。否则,函数将立即执行。用途:

images[i].onload = onImgLoad;