解析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 相关文章推荐
jquery选择器(常用选择器说明)
Sep 28 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 Javascript
javascript面向对象程序设计(一)
Jan 29 Javascript
Vue 父子组件、组件间通信
Mar 08 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
Aug 03 Javascript
使用JS中的Replace()方法遇到的问题小结
Oct 20 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
Oct 23 Javascript
vue 2.0 购物车小球抛物线的示例代码
Feb 01 Javascript
Angular中sweetalert弹框的基本使用教程
Jul 22 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
Aug 24 Javascript
如何基于jQuery实现五角星评分
Sep 02 jQuery
基于javascript实现移动端轮播图效果
Dec 21 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中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
Symfony核心类概述
2016/03/17 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
Python单例模式实例详解
2017/03/01 Python
详解python eval函数的妙用
2017/11/16 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
python3中zip()函数使用详解
2018/06/29 Python
Django框架多表查询实例分析
2018/07/04 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python实现PCA降维的示例详解
2020/02/24 Python
python中turtle库的简单使用教程
2020/11/11 Python
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
教导处工作制度
2014/01/18 职场文书
营销学习心得体会
2014/09/12 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
小学六年级毕业感言
2015/07/30 职场文书
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript