0

我正在尝试预加载大约 150 张图像,并且我希望能够做两件事......

1) 正在使用文件名列表预加载图像。并非列表中的每个文件名都有与之匹配的文件。

例如)pic04.jpg 可能不存在,即使它在列表中。

所以当我预加载时,如果可能的话,我希望能够弄清楚图像是否存在。

2) 现在该函数只是使用 Pictures[i] = new Image(); 预加载所有 150 张图像。图片[i].src = "路径/到/my/images/" + imageName[i] + ".jpg";

该函数执行得非常快,但图像似乎没有被预加载。我是否需要做一些事情让网站等到图像加载完毕后再继续?

有任何想法吗?

4

1 回答 1

1

该函数执行得非常快,但图像似乎没有被预加载。

图像正在异步加载。该函数完成执行,但浏览器继续在后台加载图像

所以当我预加载时,如果可能的话,我希望能够弄清楚图像是否存在。

是的,有可能。您可以在 Image 对象上使用 onerror 事件处理程序

var img = new Image();
img.onerror=function(){alert('error: '+this.src);}
img.onload=function(){alert('image loaded: '+this.src);}
img.src='path/to/image.jpg';
于 2009-05-28T17:59:41.140 回答