如何获取<img>标签的HTTP状态代码

Art*_*ykh 9 javascript image http-status-codes

我有一个页面,其中包含许多根据用户操作生成的服务器端图像.当图像加载成功时,我很高兴,但是当服务器上出现错误时,我必须根据发生的错误采取行动.

例如:

  • 500代码:做这个东西.
  • 503代码:做那些东西

等等.

所以,我的问题是:有没有办法在"img"标签的错误事件处理程序中获取状态代码?

Pab*_*ruz 9

不,无法从imgJavaScript中的标记请求中获取HTTP状态.

你可以写一个firefox插件,chrome/safari扩展来做到这一点.

另一种方法是使用AJAX加载图像(不使用img标签).您可以从Ajax请求中获取Http状态代码.


Woj*_*ski 5

您无法通过这种方式检查HTTP状态。但是,您可以使用naturalWidth属性检查图像是否已加载。

if (img.naturalWidth === 0) {
    // do sth
}
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助。

  • 您应该查看@ Axie,Wojciech和img.complete,以查看是否加载了图像,或者为了确保兼容性,可以将其附加到onload事件。 (3认同)
  • 对于阅读此页面的任何人,并非所有浏览器都支持naturalWidth属性。此属性也很敏感-您应该仅在图像加载后尝试读取它。(http://stackoverflow.com/questions/1645166/image-naturalwidth-return-zero)我希望能有所帮助。:) (2认同)