解析img图片没找到onerror事件 Stack overflow at line: 0


Posted in Javascript onDecember 23, 2013

打开网页时提示 Stack overflow at line: 0。我做了截图如下:

经过分析,发现网页中存在类似如下的代码:

<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="../../../sys/common/image/fileoperation/icon/default.gif"; 

img.onerror=null;       控制不要一直跳动 

    } 
//没有找到时 用事件获取 一个一个获取 
//--> 
</script> 

<td align="center"><img src="../../../sys/common/image/fileoperation/icon/${file.suffix }.gif" onerror="nofind();" />${file.name }</td>    

第三种:
使用两个<img />

<style type="text/css">
hidden {
display: none;
}
</style>
<img src="xxx.jpg" onerror="this.class='hidden';xx.class=''" />
<img src="xxx.jpg" class="hidden" />

Javascript 相关文章推荐
自写简单JS判断是否已经弹出页面
Oct 20 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
extjs中grid中嵌入动态combobox的应用
Jan 01 Javascript
javascript学习笔记(九) js对象 设计模式
Jun 19 Javascript
Array.prototype.concat不是通用方法反驳[译]
Sep 20 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
Jan 23 Javascript
Vuex简单入门
Apr 19 Javascript
ejsExcel模板在Vue.js项目中的实际运用
Jan 27 Javascript
React 组件间的通信示例
Jun 14 Javascript
微信小程序实现人脸识别登陆的示例代码
Apr 02 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
es6函数之尾递归用法实例分析
Apr 25 Javascript
判断客户浏览器是否支持cookie的示例代码
Dec 23 #Javascript
FireBug 调试JS入门教程 如何调试JS
Dec 23 #Javascript
JS中的异常处理方法分享
Dec 22 #Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
Dec 22 #Javascript
判断文件是否正在被使用的JS代码
Dec 21 #Javascript
jquery鼠标停止移动事件
Dec 21 #Javascript
JS delegate与live浅析
Dec 21 #Javascript
You might like
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
php生成N个不重复的随机数实例
2013/11/12 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
JS解析XML的实现代码
2009/11/12 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
Django如何重置migration的几种情景
2021/02/24 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
房地产销售员的自我评价分享
2013/12/04 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
nginx 添加http_stub_status_module模块
2022/05/25 Servers