【发布时间】:2015-04-29 09:02:04
【问题描述】:
我正在从服务器加载图像,当存在 404 时返回图像。也就是说,如果我正在加载的图像不存在,服务器将返回 404 响应,其中包含 200x200 PNG 后备图像,上面写着“照片不可用”就可以了。
我想检测客户端发生这种情况的时间。我试过onerror属性:
<img src="http://example.com/photo.jpg" onerror="console.log(this)" />
此代码仅在来自服务器的 404 响应根本没有图像时才有效。由于我的 404 响应确实如此,因此永远不会触发 onerror 事件。
有没有办法解决这个问题,除了用 JavaScript 预加载图像吗?
【问题讨论】:
-
如果
onerror处理程序不起作用,您可以对 url 进行头部请求并检查 404 -
在 JavaScript 中 Ping URL 并检查响应代码?
-
是的,如果我找不到更好的方法,我会使用这些选项。我更喜欢不同的解决方案,这样我就可以将图像保留在非 JavaScript 用户的标记中。
标签: javascript image