网页制作 
首页 > 网页制作 > 浏览文章

HTML中图片不存在显示默认图片的方法示例

(编辑:jimmy 日期: 2024/10/3 浏览:3 次 )

一个图片链接<img src="" /> 想用js 判断url是否有效如果404 就加载默认的图片路径

<img src="xxx" οnerrοr="this.src=默认图地址"/>

图片标签img的 onerror事件

<img src="pic.gif" οnerrοr="javascript:this.src='默认图地址';" alt="pic" />

分析:特别注意 onerror,当图片不存在时,将触发 onerror,而 onerror 中为 img 指定一个默认图片。也就是说图片存在则显示 pic.gif,图片不存在将显示默认图片。

存在的问题:如果默认图片也不存在,则继续触发 onerror,导致循环,故出现错误。如果图片存在,但网络很不通畅,也可能触发 onerror。

解决方法:通过函数加载默认图片,仅加载一次

<img src="abc.jpg" onerror="nofind()" />
<script type="text/javascript">
function nofind(){
  var img=event.srcElement;
  img.src="http://mat1.gtimg.com/cd/2017/home/nlogo0518.png"; //替换的图片
  img.onerror=null; //控制不要一直触发错误
}
</script>
上一篇:前端html换肤功能的实现代码
下一篇:HTML table行距的改变方法示例
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。