使用jQuery / JS检查图像HTTP状态代码?

是否可以使用jQuery / JS检查图像的状态代码?

例如,

img1 = "http://sofzh.miximages.com/javascript/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 } 

谢谢

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

 var image = new Image(); image.src = "http://sofzh.miximages.com/javascript/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/

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