捕获图像无法从src网址加载的位置

时间:2011-12-08 05:00:19

标签: javascript html image

我需要在Javascript中动态加载网页中的图片,但是如果任何图片无法加载需要捕获,我该怎么办呢?
例如:

try{
  var img = new Image();
  img.src = "404_not_found.png";
} catch( err ) {
  // tried this but didn't work
}

是的,我知道我甚至没有等待onload的图像,但是当404发生时,无论如何都不会调用onload方法。

1 个答案:

答案 0 :(得分:12)

在分配.src属性之前,您需要设置onloadonerroronabort处理函数。并且,您可能还想设置一个计时器,以便在计时器触发时,如果没有调用任何处理程序,则可以假定它不会加载。

以下是一个有效的例子: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";