html错误(一) Stack Overflow at line:0 IE下解决方案

一 今天用IE测试发现一个很奇葩的问题:代码没有什么问题,但是在浏览器中会自动弹出一个错误

如: 


二 错误原因分析

2.1   重定义了系统的触发事件名称作为自定义函数名如:  onclick / onsubmit...  都是系统保留的事件名称,不允许作为重定义函数名称。

2.2  出现死循环,都提示:Stack overflow at line: 0 , 如:在图片对象定义了onerror 事件的循环处理       

<img src="http://images.cnblogs.com/a.gif" οnerrοr="this.src='/image/block.gif'" />

这里并不是说 /images/a.gif 不存在, 可能是由于网络原因造成,这时会执行 onerror 事件,  调用 /images/block.gif 去做当前图片的路径,

但如果当前 /image/block.gif 这个图片文件不存在, 再或者由于网络原因,'/image/block.gif' 下载又出现错误时, 就出现了死循环。

所以在处理 onerror 事件时,要考虑是否是出现这样的问题。 ” Stack overflow at line: 0 “ 该错误不是一直出现,是有时会出现, 是

网络不正常导致死循环引起的, 查了好半天, 最后才找到这个原因


三 解决方法

3.1 去掉 onerror 代码;或者更改 onerror 代码为其它;或者确保 onerror 中的图片足够小,并且存在。

如:  

<img src='丢失的图片地址' οnerrοr='javascript:this.alt='图片不存在或可能丢失!'/>

3.2 

<script type="text/javascript">
function nofind(){
  var img=event.srcElement;
  img.src="http://www.cnblogs.com/sys/common/image/fileoperation/icon/default.gif";
  img.οnerrοr=null; 控制不要一直跳动
}

</script>

<td align="center">
   <img src="http://www.cnblogs.com/sys/common/image/fileoperation/icon/${file.suffix }.gif" οnerrοr="nofind();" />${file.name }
</td>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值