用Javascript判断图片是否存在,不存在则显示默认图片的代码

利用image对象的onerror事件来判断,出错则更换image对象的src为默认图片的URL。 

<p>第一种情况:图片存在,正常显示
 
<img src="http://www.jb51.net/logo.gif" 
οnerrοr="javascript:this.src='http://www.jb51.net/logos.gif'" /></p> 
<p>第二种情况:图片不存在,显示默认图片
 
<img src="http://www.jb51.net/logoddd.gif" 
οnerrοr="javascript:this.src='http://www.jb51.net/logos.gif'" /></p> 

 注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。

因此, 需要用下面两种方法解决:
a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。
b、控制onerror事件 只触发一次,需要增加这句话:this.οnerrοr=null; 增加后如下:
<img src="图片的url地址" alt="图片XX" οnerrοr="this.src='默认图片的url地址;this.οnerrοr=null'"/>

下面是通过js的判断
用javascript判断指定图片文件是否存在: 
如判断<img src="http://www.jb51.net/logos.gif">这个图片地址是否存在. 
如果不存在,隔几秒重新探测此图片,如果地址有效则,提示地址有效 

<script type="text/javascript"> 
function IsExist(url) 
{ 
  x = new ActiveXObject("Microsoft.XMLHTTP") 
  x.open("HEAD",url,false) 
  x.send() 
  return x.status==200 
} 
alert(IsExist("http://www.jb51.net/logos.gif"));
</script> 

图片存在则上面的返回true 

<SCRIPT language="javascript"> 
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
xmlhttp.Open("GET", "http://www.jb51.net/logos.gif", false); 
xmlhttp.Send(); 
alert(xmlhttp.responseText); 
</SCRIPT> 

图片存在则返回GIF89aX 

<img src="http://www.jb51.net/logos2.gif" οnerrοr="alert('该图片不存在!');"> 

因为图片不存在则返回该图片不存在!

引自:http://www.jb51.net/article/8796.htm

转载于:https://www.cnblogs.com/flowers-yang/p/3419067.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值