解析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 屏蔽键盘不可用与鼠标右键不可用的方法
Nov 18 Javascript
动态添加删除表格行的js实现代码
Feb 28 Javascript
js实现上传图片预览的方法
Feb 09 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
新手学习前端之js模仿淘宝主页网站
Oct 31 Javascript
详解node HTTP请求客户端 - Request
May 05 Javascript
vue增删改查的简单操作
Jul 15 Javascript
vue2.0+koa2+mongodb实现注册登录
Apr 10 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 Javascript
使用vue for时为什么要key【推荐】
Jul 11 Javascript
js实现超级玛丽小游戏
Mar 18 Javascript
JavaScript实现像雪花一样的Hexaflake分形
Jul 07 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性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
简单了解Python生成器是什么
2019/07/02 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
编码实现字符串转整型的函数
2012/06/02 面试题
后勤园长自我鉴定
2013/10/17 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
敬老院活动总结
2014/04/28 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
报到证办理个人委托书
2014/10/06 职场文书
入党申请书格式
2019/06/20 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书