【问题标题】:How to detect if the image path is broken?如何检测图像路径是否损坏?
【发布时间】:2013-04-26 23:05:12
【问题描述】:

我正在尝试检测图片是否在javascript 中可用。

我有一个 switch 语句,它返回不同类型的图像。

switch (type){

case 'oldProduct':
return "<img src='project/'" + folder + imagename + "/>"
break;

case 'newProduct':
return "<img src='project/'" + folder2 + imagename2 + "/>"
break;

more cases....

}

我想知道在我返回图像之前是否有任何方法可以检测图像是否存在。 &lt;img src='project/'" + folder2 + imagename2 + "/img&gt; src 在我的情况下可能是一条断路。非常感谢!

【问题讨论】:

  • 所以你需要检测图像是否来自具有指定路径的服务器,对吗?
  • 可以用JS下载图片,例如:通过 $.get (jQuery) 并检查响应的状态。
  • @WooCaSh 是的,这是正确的。
  • stackoverflow.com/questions/9809015/… - 动态创建new Image(),设置其src属性,使用load事件,并检查其高度/宽度
  • 我假设您的 img 标签末尾的 /img&gt; 是错字?

标签: javascript


【解决方案1】:

如果您只想使用 javascript 而不是 jquery,我唯一的建议是将图像加载到页面上,例如

<img src="yoursrc" id="testImage" style="display:none;"/>

然后检查 onerror 方法“not may not work in really old ie”

var image = document.getElementById('testImage');
im.onerror = function(){
  //do something on error
};

然而,更简洁可靠的方法是在图像上运行 jquery get。

这样

function checkImg(src){
   var jqxhr = $.get(src, function() {
     return true;
   }).fail(function() { 
    return false;
   });
}

【讨论】:

    猜你喜欢
    • 2012-04-13
    • 1970-01-01
    • 2012-08-31
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 2018-03-29
    相关资源
    最近更新 更多