检测图像URL是否已损坏JQUERY

detect if image URL is broken or not JQUERY

本文关键字:已损坏 JQUERY 是否 URL 图像 检测      更新时间:2023-09-26

有没有一种方法可以检测图像的URL是否已损坏,比如说我想检查这个图像是否加载:

http://www.domain.com/img/slide1.jpg

仅从URL,而不是从html代码

感谢

如果检查当前可用的URL,您可以使用HEAD HTTP请求(不加载请求正文)。它在Javascript/Ajax中的HTTP HEAD请求中进行了描述?问题

使用onerror处理程序。但是,它必须在触发错误之前附加,因此您希望在之后设置src属性:

$("img").error(function(){
  $(this).hide();
}).attr('src', 'http://www.domain.com/img/slide1.jpg');

https://api.jquery.com/error/

我已经将其视为一个选项。。。

<img src="foo.jpg" onerror="if (this.src != 'error.jpg') this.src = 'error.jpg';">

这也可能触发一个函数。

你也可以试试这样的。。。

<object data="http://stackoverflow.com/does-not-exist.png" type="image/png">
  <img src="http://stackoverflow.com/content/img/so/logo.png" />
</object>

由于第一个图像不存在,将显示回退(堆栈溢出徽标)。如果您使用的是一个非常旧的浏览器,它不支持对象,它将忽略该标记并使用img标记。

更新

使用图像路径(URL),尝试以下操作。。。

http://perishablepress.com/3-ways-preload-images-css-javascript-ajax/

通过ajax预加载可能会给出答案,然后您可以使用成功/错误处理。