图片不存在时,显示一个默认的图片
经过分析,发现网页中存在类似如下的代码:
<img src="pic.gif" onerror="javascript:this.src='/noPic.gif';" alt="pic" />
分析:特别注意 onerror,当图片不存在时,将触发 onerror,而 onerror 中又为 img 指定一个 NoPic.gif 图 片。也就是说图片存在则显示 pic.gif,图片不存在将显示 noPic.gif。但问题来了,如果 noPic.gif 也不存在,则继续触发 onerror,导致循环,故出现错误。说明:如果图片存在,但网络很不通畅,也可能触发 onerror。
解决方法:
第一种::.去掉 onerror 代码;或者更改 onerror 代码为其它;或者确保 onerror 中的图片足够小,并且存在。
第二种:
<script type="text/JavaScript">
<!–
function nofind(){
var img=event.srcElement;
img.src="http://www.cnblogs.com/sys/common/image/fileoperation/icon/default.gif";
img.onerror=null; 控制不要一直跳动
}
//–>
</script>
<td align="center"><img src="http://www.cnblogs.com/sys/common/image/fileoperation/icon/${file.suffix }.gif" onerror="nofind();" />${file.name }</td>
[1].[代码] img标签src对应的图片不存在,显示一个默认的图片
< img src = "abc.JPG" onerror = "this.src='default.JPG'" /> |
[2].
<script type=
"text/javascript"
>
t = document.getElementsByClassName(
"defaultImg"
);
for
(i = 0; i < t.length; i++){
t.item(i).onerror =
function
(){
this
.src =
"test.gif"
}
}
</script>
//采用 className 是为了更好的适应页面,不是每个img我们都要这样做的,甚至不同地方的img
//我们要显示不同的默认图片。(采用img同样做法)。
//采用id则是犯了错误,id 导致只会拿到第一个id相符的。
//此代码经过测试在 非IE 的browser上正常工作。
//为了兼容IE个废物,请使用以下代码:
<script type=
"text/javascript"
>
t = document.getElementsByTagName(
"img"
);
for
(i = 0; i < t.length; i++){
t.item(i).onerror =
function
(){
if
(
this
.id ==
"defaultImg"
){
this
.src =
"test.gif"
;
this
.onerror =
null
;
}
}
}
</script>
相关推荐
nmgxzm00 2020-11-10
ifconfig 2020-10-14
hhanbj 2020-11-17
zfszhangyuan 2020-11-16
古叶峰 2020-11-16
一个智障 2020-11-15
jipengx 2020-11-12
81427005 2020-11-11
xixixi 2020-11-11
游走的豚鼠君 2020-11-10
苗疆三刀的随手记 2020-11-10
Web卓不凡 2020-11-03
小飞侠V 2020-11-02
帕尼尼 2020-10-30
爱读书的旅行者 2020-10-26
帕尼尼 2020-10-23
杏仁技术站 2020-10-23
淼寒儿 2020-10-22