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

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

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

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

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

2. 出现死循环 :

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

<img src="

" onerror="this.src='/image/default.gif'" />

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

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

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

(0)

相关推荐