检测图像URL是否损坏JQUERY

时间:2015-04-02 15:16:59

标签: javascript jquery

有没有办法从其网址检测图片网址是否损坏,例如我想检查此图片是否加载:

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

仅来自网址,而不是来自html代码

由于

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

我已经看到这是一个选择...

<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>

由于第一张图像不存在,将显示后备(Stack Overflow徽标)。如果您使用的是一个不支持对象的旧浏览器,它将忽略该标记并使用img标记。

<强>更新

使用图片路径(URL),尝试这样的事情......

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

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