IT联盟之家-ithome8

导航

IE中出现 "Stack overflow at line" 错误的解决方法

在做网站时遇到一个问题,网站用的以前的程序,在没有改过什么程序的情况下,页面总是提示Stack overflow at line 0的错误,而以前的网站都正常没有出现过这种情况,在网上找了一下解决办法如下:我的程序出现这种错误的原因是第2种,我在图片中使用了onerror事件,当图片加载出问题时就是显示一个默认图片,然而在我的网站目录中并不存在这张默认图片,而源指定的图片也不存在,所以会触发onerror事件,由于两个图片都不存在,所以导致了一个死循环,导致内存溢出。

出现该错误提示,主要有两种原因:

      1. 使用系统的事件名称作为自定义函数名如:

            onclick / onsubmit ... 都是系统保留的事件名称,不允许作为重定义函数名称。

      2. 出现死循环 :

           如:在图片对象定义了 onerror 事件的循环处理、

           <img src="http://www.hoocar.com/1.gif" onerror="this.src='/image/default.gif'" />

           这里并不是说 1.gif 不存在, 可能是由于网络阻塞原因造成, 这时会执行 onerror 事件,

           调用 /images/default.gif 去做当前图片的路径, 但如果当前 /image/default.gif 这个图片文件不存在,

           再或者由于网络原因, 下载'/image/default.gif' 又出现错误, 这就出现了死循环。

posted on 2014-11-20 09:06  IT之家  阅读(4654)  评论(0编辑  收藏  举报