关于在IE下JavaScript的 Stack overflow at line 错误可能的原因
2024-09-05 23:23:28
该错误只在IE中出现,出现该提示的原因主要有两种:
1. 重定义了系统的触发事件名称作为自定义函数名如: onclick / onsubmit … 都是系统保留的事件名称,不允许作为重定义函数名称。
2. 出现死循环,都提示:Stack overflow at line: 0 , 如:在图片对象定义了 onerror 事件的循环处理、
<img src=”http://images.cnblogs.com/a.gif” onerror=”this.src=’/image/block.gif’” />
这里并不是说 /images/a.gif 不存在, 可能是由于网络原因造成, 这时会执行 onerror 事件, 调用 /images/block.gif 去做当前图片的路径, 但如果当前 /image/block.gif 这个图片文件不存在, 再或者由于网络原因, ‘/image/block.gif’ 下载又出现错误时, 就出现了死循环。
上面哪个例子一般写成下面这种形式比较保险
<img src=”http://images.cnblogs.com/a.gif” onerror=”this.error = null;this.src=’/image/block.gif’” />
所以在处理 onerror 事件时,要考虑是否是出现这样的问题。
” Stack overflow at line: 0 “ 该错误不是一直出现,是有时会出现, 是网络不正常导致死循环引起的, 查了好半天, 最后才找到这个原因,做下记号吧, 给有需要的人。
最新文章
- javaSE基础07
- dubbo properties
- Python基础之函数等等
- 原创:分享asp.net伪静态成目录形式iis如何设置
- 一道PK赛题
- 使用script的src实现跨域和类似ajax效果
- oracle 的rowid和rownum
- Rsync+Inotify-tools实现数据实时同步
- PHP - 表单与验证
- USACO Section 1.2 Dual Palindromes 解题报告
- appium入门元素识别参考
- js面向对象自定义MyString()的构造器函数,实现内建String()属性和方法:
- javascript对象与方法
- JS apply的巧妙用法以及扩展到Object.defineProperty的使用
- Xamarin.Android 使用 SQLite 出现 Couldn&#39;t read row 0, col -1 from CursorWindow. 异常
- HTML5事件—visibilitychange 页面可见性改变事件
- 作用域的一些说明,static关键词
- Canvas事件绑定
- 数组插件----linq.js
- New Garbage Collector http://wiki.luajit.org/New-Garbage-Collector