本文主要讨论页面中图片加载失败后替换默认图片的几种方式 重点来了:一定要记住error事件不冒泡. 相关的知识点:jquery的ready方法.$("img").error().img的complete属性.插件imagesLoaded.事件委托.事件捕获和图片预加载的方法等 图片加载失败替换为默认图片 1.1 给图片绑定error事件 当图片加载失败时会触发error事件 $("img").on("error", function () { $…
HTML: <img src="http://www.mazey.net/images/upload/image/20170518/1495122198180663.gif" id="img1" onerror="hideImg1();"> <!--下面这个图加载失败但不会出现加载失败的样式--> <img src="http://www.mazey.net/images/upload/image/2017…
方法1.如下程序,当页面完全加载后执行openTheIndexPage()方法  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  <title>Telecommunications Data Collection System</title>  <script type=&q…
<img :src="item.headUrl" alt="" class="contact-head" :onerror="morenImage"> data () { return { morenImage: 'this.src="static/image/head.png"', // 默认头像 } }…
问题的引出是这样的,在一个项目中有大量的页面主体是table做数据展示,所以就封装了一个table的组件,提供动态渲染的方案.有个问题是数据类型中有图片,对于图片的加载失败我们需要做容错.一般我们的思路都是对img绑定error事件,替换该图片为一个默认的图片.但是error事件是不会冒泡的,我们渲染是动态的,我们不能delegate事件到body上.如果将处理写在js里,那么每次渲染的时候都要去给图片绑定error事件,写在模板里拼接(内联事件)又会很麻烦(我采取的方案是用户编写基本th,td…
1.问题表现:首屏缺失部分图标.点击按钮切换为激活状态时,部分按钮的激活态图标无法显示. 2.问题原因:网络极差,断断续续,点击时添加class:active变为激活态, active.png这张图片是在添加active这个class才加载的, css背景图片只加载一次,不管成功还是失败都不再加载第二次了, 所以刚好网络断掉时加载了active.png失败,不刷新的话,以后就再也看不到这张图片了 3.解决办法: 方法一: 把所有图片做成spirit图,首次就可以把所有图片加载好,不会出现部分图片…
我们常常会遇到img加载图片的时候因为网络问题或者图片过大导致图片加载失败的问题,页面就因为这张蹦掉的图变得不美观.所以我们需要图片加载失败的时候重新加载图片,前端图片加载优化 //js方法定义 function resetImgUrl(imgObj,imgSrc,maxErrorNum){ if(maxErrorNum > 0){ imgObj.onerror=function(){ reSetImgUrl(imgObj,imgSrc,maxErrorNum-1); }; setTimeout…
//图片加载完成后再显示页面 document.getElementById('icon').onload=function(){ document.getElementById('wrap').style.display = "block"; }; onabort 当用户放弃图像的装载时调用的事件句柄.onerror 在装载图像的过程中发生错误时调用的事件句柄.onload 当图像装载完毕时调用的事件句柄.…
还是那个该死的WebFrom项目,部分功能替换为MVC后感觉好多了,但是WebForm.MVC都有图片加载失败时显示提示图片的需求,并且统一在js中处理.问题来了,js中图片路径怎么处理呢?现场有可能部署为网站,也有可能为应用,再加上对路径的不了解,决定弄个IHttpHandler一劳永逸解决路径问题. 搞定了IHttpHandler,发现图片还是显示不出来,日志中多了System.UnauthorizedAccessException: Access to the path 'xxxx' is…
1.angular 图片加载失败 情况处理 在directive中定义组件,在ng-src错误时,调用err-src app.directive('errSrc',function(){ return { link: function(scope, element, attrs){ if(attrs.src == 'undefined'){ attrs.$set('src', attrs.errSrc); } element.bind('error', function() { if (attr…
通常,我们会用jq的.width()/.height()方法获取图片的宽度/高度或者用js的.offsetwidth/.offsetheight方法来获取图片的宽度/高度,但这些方法在我们通过样式设置了图片的宽高后获取的就不是图片的实际宽高,这显然在有些时候不是我们想要的结果,那么有没有一种方法来获取这样的实际宽高呢?答案是有的.下面的代码就能解决这样的问题: <img src="01.jpg" id="test" width="250px"…
我们知道AngularJS加载图片的方法是用技术分享加ng-src标签,例如: <img ng-src="{{currentUrl}}"/> 其中currentUrl为图片地址,如果图片正常能显示,那这么使用一点问题没有,但是,如果图片加载失败了(例如该图片已经不存在,从而出现404错误),在该放图片的地方就会出现一个难看的图片加载失败图标,如果想把这个图标换成你自定义的图片,可以如下这么做: HTML: <img ng-src="{{currentUrl}…
当图片加载失败时更换图片. <!DOCTYPE html> <meta charset="UTF-8"> <img src="http://www.qq.com/favicon.ico" /> 加载成功 <hr> <img src="http://www.qq.com/favicon" onerror="var img = event.srcElement; img.src = 'h…
在项目中不可避免会用到图片,尤其是列表,有时候图片会加载失败:这样就会显示一个很难看的坏图片缩略图:下面介绍两种方法,解决这个问题: 1.如果在你的项目中有引入jQuery插件,你可以使用error([[data],fn])这个函数: $("img").error(function(){ //当图片加载失败时,你要进行的操作 //$(this).attr('src','images/no_pic.jpg'); }); 2.如果项目中没有jQuery这样的插件,可以使用HTML的DOM事…
遮罩层div为iframe父页面生成,需在iframe内页面完全加载完后,关闭遮罩层 alertMsgClose() :函数为关闭遮罩层函数 此段代码在iframe页面内: <script> $(function () { window.parent.alertMsgClose();// iframe 外层页面关闭遮罩层 }); </script>…
应用场景 在开发中,经常遇到一种情况,数据库不存在图片地址,或者存在图片地址,但图片已经被删除,这个时候会出现加载失败情况.提供以下解决方案 解决方案 在 img 标签 加上onerror="onerror=null;src='123.jpg'" ,即当图片加载失败时会自动加载123.jpg ,例如 <img src="abc.jpg" onerror="onerror=null;src='123.jpg'" />…
纯css解决方案: <img src="broken.png" alt=""> img { position: relative; } img:after { content: url('替代圖片'); display: block; position: absolute; // 底下是故意要填满并且背景填滿擋住底下那個很醜的加載失敗圖片(字体) z-index:; top:; left:; width: 100%; height: 100%; back…
首先,来看下效果图(演示一下图片正常加载与加载失败时的效果) 在线体验地址:https://hxkj.vip/demo/vueImgOnerror/ 一.常规方法解决 我们都知道,img标签支持onerror事件,在装载文档或图像的过程中如果发生了错误,就会触发onerror事件.可以使用一张提示错误的图片代替显示不了的图片. 例如这样使用: <img src="images/logo.png" onerror="javascript:this.src='images/…
有时候, 当img的src加载失败, 会显示缺省碎片图片,  影响用户体验.  有一个js事件onerror就派上了用场. 它可以在加载失败时, 显示缺省的图片. 它有两种使用方式. 第一种: 使用纯标签写法. 这样会增大网页的体积.  但是客户端解析速度要快点.  <img src="https://www.88tv.org/upload/vod/20190829-1/db8b269c40172799f215aba93f03a03d.jpg" onerror="jav…
小程序端展示网络资源图片可能会失败,下面介绍一种自己的处理方法 1. js文件中判断图片 url 是否存在,存在则正常显示,不存在则替换url为本地默认图片 2. 当图片 url 存在,但是加载失败时.小程序 image标签,提供 binderror 中用 setData 替换图片url为本地 url PS: 很多人会把第一步放在html里面 url ? url : '/image/default.png',来处理.原理是一样的,但是这类处理个人推荐放置逻辑层 第二步,进行图片 url setD…
<html> <head> <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.8.3/jquery.min.js"></script><!--从CDN获取jquery---> </head> <body> <script> $(window).load(function(){ $.…
微信小程序 官方文档对image 媒体组件加载失败 没有太多的解释,使用中出现了几个小问题,今天抽空记录一下 WXML: <image class="userinfo-avatar" src="{{avatar}}" binderror="errorFunction"></image> JS: errorFunction: function(){ this.setData({ avatar: '/image/head.pn…
Hi  EveryBody 今天来玩一个非常爽的控件 fresco 到底有多爽呢 接着看就知道了 首先 来看看fresco 是个神马东西 https://github.com/facebook/fresco 这个是fresco的一个官方gifhub 官网为http://frescolib.org/ 这个网站是个英文站点 对英文不太精通的童鞋也没关系啦 因为这就是一个图片加载库 我们说传统的加载库 从自己写一个BitMap类的工具 到软引用 到ImageLoader这些无非是解决一个oom问题 但…
页面上有用户自定义图片的时候经常会出现用户定义的图片特别是站外图片被删除或无法访问,因此,需要判断图片是否能成功被加载,否则自动换成“无法找到图片”之类的系统图片. document.body.onload = getImg; function getImg() { for (var i = 0; i < document.images.length; i++) { if (document.images[i].readyState != 'complete') document.images[…
在node-webkit教程(14)禁用缓存中,简单讲了当前禁用缓存的几种方法. 在实际开发过程中,我遇到了一个因为缓存引起的诡异的问题.应用场景如下: 在一个编辑器里,不停的向画布上添加svg或者其他格式的图片文件,问题主要出在svg文件上. 插入svg图片的过程中,经常出现无法加载的现象,检测文件和url都是正确的.而且svg文件达到一定数量之后,再也无法插入新的文件.经过反复排查,确定是缓存引起的问题,无奈之下只能走清除缓存的路,实属下策. ps:nw.js,electron交流群 313…
//html <div id="loading" class="loading"> <div class="load"> <span id="loadingSpan"></span> </div> </div> <div id="content"><img src="content_01.jpg"…
基于angular4写的一个指令,在ionic3.x项目在用.因为加载图片超时等原因导致图片显示不出来,需要替换成默认或者指定图片 1.err-src.ts import { Directive,Input } from '@angular/core'; @ Directive({ selector: '[err-src]', // Attribute selector host: { '(error)': 'onError($event.target)' } }) export class E…
1.onerror 事件会在文档或图像加载过程中发生错误时被触发. 当图片不存在时,将触发onerror,onerror 中img为 指定的默认图片. 图片存在则显示正常图片,图片不存在将显示默认. function imgOnerror(img){ img.src="../images/avatars/default.jpg"; img.onerror=null;//控制不要一直跳动 } <img width="90" height="120&qu…
原理就是给img绑定error事件,替换原有的src地址. 首先在data中创建一个defaultImg(随便起的),里面的值是该默认图片的地址: 在html页面的img标签上绑定该属性 这样默认图片就设置好了: 这样做的好处就是可以提高用户体验,而图片的alt属性,是在图片显示失败后出现的文字,像下图所示,但是这样的用户体验不高: 像后台管理系统中,如果是这样或者是有一个默认封面的话,会感觉很舒服:…
$("#img").load(function(){...}); 这是jquery提供的一个方法,但是在IE中会有BUG,IE8不支持,IE9以上刷新后也不会执行,只有强制刷新才执行,所以不能使用这个jquery提供的方法 应该使用: 只能通过JS的onload来触发事件,当然触发的事件代码中可以使用jquery代码(但是,IE8也有BUG,普通刷新的时候图片从缓存读入,读入速度比代码更快,导致onload代码不能运行,解决方法看继续往下看) document.getElementBy…