js判断图片是否存在,并做处理

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JavaScript判断远程图片是否存在,不存在则替换指定图片</title>
</head>
<body>
<p>判断百度的LOGO是否存在:<br>
<IMG src="http://www.baidu.com/img/baidu_logo.gif" οnerrοr="javascript:this.src='/images/logo.jpg'"></p>
<p>如果不存在,则替换成本地网站图片:<br><IMG src="http://b-ssl.duitang.com/uploads/item/201812/07/20181207173003_zdddw.jpg" οnerrοr="javascript:this.src='/images/logo.gif'"></p>
</body>
</html>

img标签的onerror事件,img标签支持onerror 事件,在装载文档或图像的过程中如果发生了错误,就会触发onerror事件。可以使用一张提示错误的图片代替显示不了的图片。代码如下: 

<img src="images/logo1.png" οnerrοr="javascript:this.src='images/logo2.png';">

当图片images/logo1.png不存在时,将触发 onerror事件,而 onerror 中又为该 img 指定了images/logo2.png图片。也就是说图片images/logo1.png存在则显示logo1.png,图片images/logo1.png不存在将显示 logo2.png。

  *问题:如果images/logo2.png 也不存在,则会继续触发 onerror事件,导致死循环,故会出现打开网页时提示 Stack overflow at line: 0 错误。特别说明:如果图片存在,但网络很不通畅,也可能触发 onerror事件

<script type="text/javascript"> 
    function imgerrorfun(){ 
        var img=event.srcElement; 
        img.src="images/logo2.png"; 
        img.οnerrοr=null; 控制不要一直跳动 
    } 
</script> 

<img src="images/logo1.png" οnerrοr="imgerrorfun();" />

猜你喜欢

转载自blog.csdn.net/leoly612200/article/details/95307327