在做网站时遇到一个问题,网站用的以前的程序,在没有改过什么程序的情况下,页面总是提示Stack overflow at line 0的错误,而以前的网站都正常没有出现过这种情况,在网上找了一下解决办法如下:我的程序出现这种错误的原因是第2种,我在图片中使用了onerror事件,当图片加载出问题时就是显示一个默认图片,然而在我的网站目录中并不存在这张默认图片,而源指定的图片也不存在,所以会触发onerror事件,由于两个图片都不存在,所以导致了一个死循环,导致内存溢出。
出现该错误提示,主要有两种原因:
1. 使用系统的事件名称作为自定义函数名如:
onclick / onsubmit ... 都是系统保留的事件名称,不允许作为重定义函数名称。
2. 出现死循环 :
如:在图片对象定义了 onerror 事件的循环处理、
<img src="http://www.domain.com/1.gif" onerror="this.src='/image/default.gif'" />
这里并不是说 1.gif 不存在, 可能是由于网络阻塞原因造成, 这时会执行 onerror 事件,
调用 /images/default.gif 去做当前图片的路径, 但如果当前 /image/default.gif 这个图片文件不存在,
再或者由于网络原因, 下载'/image/default.gif' 又出现错误, 这就出现了死循环。
新闻热点
疑难解答