首页 > 课堂 > 浏览器 > 正文

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

2020-05-31 11:57:59
字体:
来源:转载
供稿:网友

在做网站时遇到一个问题,网站用的以前的程序,在没有改过什么程序的情况下,页面总是提示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' 又出现错误, 这就出现了死循环。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表