我需要在Javascript中动态加载网页中的图片,但是如果任何图片无法加载需要捕获,我该怎么办呢?
例如:
try{
var img = new Image();
img.src = "404_not_found.png";
} catch( err ) {
// tried this but didn't work
}
是的,我知道我甚至没有等待onload
的图像,但是当404发生时,无论如何都不会调用onload方法。
答案 0 :(得分:12)
在分配.src
属性之前,您需要设置onload
,onerror
和onabort
处理函数。并且,您可能还想设置一个计时器,以便在计时器触发时,如果没有调用任何处理程序,则可以假定它不会加载。
以下是一个有效的例子:http://jsfiddle.net/jfriend00/48JmQ/
var img = new Image();
img.onerror = function() {alert("error")};
img.onabort = function() {alert("abort")};
img.onload = function() {alert("success")};
img.src = "404_not_found.png";