是否可以使用jQuery / JS检查图像的状态代码?
例如,
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
}
由于
答案 0 :(得分: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/
此外,似乎没有办法获取响应代码,因此您只能知道是否加载了图像。