有时候, 当img的src加载失败, 会显示缺省碎片图片,  影响用户体验。  有一个js事件onerror就派上了用场。 它可以在加载失败时, 显示缺省的图片。

它有两种使用方式。

第一种: 使用纯标签写法。 这样会增大网页的体积。  但是客户端解析速度要快点。 

<img src="https://www.88tv.org/upload/vod/20190829-1/db8b269c40172799f215aba93f03a03d.jpg" onerror="javascript:this.src='https://t.8kmm.com/upload/vod/20190829-1/db8b269c40172799f215aba93f03a03d.jpg';">

第二种:使用Jquery JS, 全站如果有规律, 可以使用此种方式。  在所需页面插入下面这段js就行了。 

<script>
$(document).ready(function(){
$('.stui-vodlist img').each(function(){ //我这里仅仅是遍历vodlist这个元素下面的内容。
var error = false;
if (!this.complete) {
error = true;
} if (typeof this.naturalWidth != "undefined" && this.naturalWidth == 0) {
error = true;
} if(error){
$(this).bind('error.replaceSrc',function(){
this.src = this.src.replace("www.88tv.org","t.8kmm.com"); //注意这一句, 因为这里是有规律的, 所有我可以这样写,如果有不同, 这里需要定制。 $(this).unbind('error.replaceSrc');
}).trigger('load');
}
});
});
</script>

结尾:

如果碰到onerror过去的图片也没有, 可能会造成循环请求, 这样的话, 就需要对这段升级。

可以使用, 去检查图片是否存在,

var imgUrl = "https://t.8kmm.com/upload/vod/20191006-16/d9823993b55e8cb504cf174c7bd9db12.jpg";
var img = new Image();
img.src=imgUrl;
//判断图片大小是否大于0 或者 图片高度与宽度都大于0
if(img.filesize>0||(img.width>0&&img.height>0)){
e.src = imgUrl;
}else{
//默认图片也不存在的时候
e.src="/img/default.jpg";
}

当然, 也可以使用XMLHTTP远程判断图片是否存在。再根据远程获取的是404还是200来更换图片SRC。

最新文章

  1. Bioinformatics Glossary
  2. web文档在线阅览
  3. Linux下获得系统时间的C语言实现
  4. IOS图像拉伸解决方案
  5. C# 特性详解(上)
  6. maven3.1.1适合搭配的jdk版本
  7. 五、Socket之UDP异步传输文件-实现传输中取消传送
  8. Android学习之多点触摸并不神秘
  9. 16 Socket通信(简单例子)
  10. Bug 的严重性的定义参考
  11. 鼠标进入与离开的消息(覆盖CM_MOUSEENTER与CM_MOUSELEAVE消息)——Windows本身没有这样的消息
  12. poj 1836 Alignment(线性dp)
  13. dubbo高级配置学习
  14. APP测试 - android os6,7 新增特性测试
  15. drupal8的安装
  16. 一文入门C3
  17. Spring常用注解总结(1)
  18. ubuntu18.04安装xmind8
  19. windows 上搭建gitblit
  20. c 时间转移函数

热门文章

  1. Java入门——编写并运行第一个程序
  2. vuejs之路由应用之二
  3. Android监视器概述
  4. Python—实现sftp客户端(连接远程服务器)
  5. [Php] windows下使用composer出现SHA384 is not supported by your openssl extension
  6. [Linux] docker 方式安装和使用gitlab-ce
  7. [视频教程] ubuntu系统下安装最新版PHP7.3.X环境
  8. C学习笔记(9)--- 预处理器,头文件
  9. 运行java程序
  10. luoguP4343自动刷题机(二分标准题)