检测并处理img标记内的400个错误

时间:2012-11-19 10:38:23

标签: javascript jquery html facebook

我正在开发一个将用户的Facebook个人资料图片(http://graph.facebook.com/(fb id)/图片)嵌入到img标记中的应用。它在大多数情况下都有效。但是,当我请求个人资料图片(see this

时,我偶尔会遇到400个错误

有什么办法可以用Javascript / JQuery检测这400个错误吗?现在它们被显示为破碎的图像......

1 个答案:

答案 0 :(得分:2)

使用onerror事件非常简单。

我们可以在JavaScript中创建一个新图片,并为其附加两个事件 - onloadonerror。然后设置图像src将使浏览器下载图像,如果是真实图像,则触发onload事件,如果不是,则触发onerror

var img = new Image();

// This URL will return an image an fire `onload`
img.src = 'http://placekitten.com/300/300';

// Replace the line above with this one to load a fake/unavailable image, which will fire the `onerror` event.
// img.src = 'http://mybrokenurl';

img.onload = function() {
    document.body.appendChild(img);
}

img.onerror = function() {
    alert('Error loading image');
}​

演示:http://jsfiddle.net/amustill/vSJ4F/