2

is it possible to check the status codes of images using jQuery/JS?

For example,

img1 = "http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/YellowLabradorLooking_new.jpg/260px-YellowLabradorLooking_new.jpg";

if(statusCheck(img1) == 404){
    /do something
}elseif(statusCheck(img1) == 403){
    //do something else
}elseif(statusCheck(img1) == 304){
    //do something else
}

Thanks

4

1 回答 1

6

您可以构造一个Image不受跨域限制影响的对象:

var image = new Image();
image.src = "http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/YellowLabradorLooking_new.jpg/260px-YellowLabradorLooking_new.jpg"

image.onload = function() {
    alert('Image has loaded');
};

image.onerror = function() {
    alert('Image did not load');
};

图像加载是异步的,因此创建一个返回错误代码的函数不是一个好主意。

演示:http: //jsfiddle.net/Blender/apyL7/

此外,似乎没有办法获取响应代码,因此您只能知道图像是否已加载。

于 2013-01-09T00:59:13.377 回答