首页 > 代码库 > <img/>标签onerror事件在IE下的bug和解决方法
<img/>标签onerror事件在IE下的bug和解决方法
IE下打开网页时,会弹出“Stack overflow at line: 0”的弹框。经分析,这个bug是由于img标签的onerror事件引起的。程序中用到的代码片段如下:正常情况下显示src所指路径的图片,加载失败时显示通过img标签的onerror事件显示另一张图片,问题就出现在了这里,当另一张图片也不存在时,就造成了循环触发onerror事件,在IE下就会弹出“stack overflow”的弹框。
<img src="http://img1.soufunimg.com/agents/2011_01/08/62/78/sh/houseinfo/408971808300_s22.jpg"
onerror="this.src=http://www.mamicode.com/‘http://img1.soufunimg.com/agents/2011_01/08/62/78/sh/houseinfo/408971808300_s.jpg‘" />
onerror="this.src=http://www.mamicode.com/‘http://img1.soufunimg.com/agents/2011_01/08/62/78/sh/houseinfo/408971808300_s.jpg‘" />
解决的方法也很简单,在重新给img的src属性赋值时,先将onerror事件清除掉,再赋值,这样就不存在循环调用的问题了,代码段如下:
<img src="http://img1.soufunimg.com/agents/2011_01/08/62/78/sh/houseinfo/408971808300_s22.jpg"
onerror="this.onerror=‘‘;this.src=http://www.mamicode.com/‘http://img1.soufunimg.com/agents/2011_01/08/62/78/sh/houseinfo/4089718083001_s.jpg‘" />
onerror="this.onerror=‘‘;this.src=http://www.mamicode.com/‘http://img1.soufunimg.com/agents/2011_01/08/62/78/sh/houseinfo/4089718083001_s.jpg‘" />
<img/>标签onerror事件在IE下的bug和解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。