ie6下使用js替换img标签src属性图片不显示的错误

首先,我必须再次强调一下,F-U-C-K I-E!

其次,简单阐述一下这个bug的出现的情况。页面中有个<a href=”javascript:void(0)” onclick=”swapImgSrc()”>这么一个a标签,swapImgSrc这个方法就是替换页面上一个img标签的src属性,以达到动态切换图片路径的效果。但是,但是,在IE6这个浏览器下图片就不会显示,用鼠标右键点击图片应该在的位置选择“显示图片”才能看到图片内容。使用httpwatch等神器可以发现新图片的加载被aborted的,aborted只会出现在加载途中页面被刷新或者重定向,这就让人百思不得其解了。

搜索技术问题还是去google吧,baidu出来的全是不着边并且重复的垃圾文章。有几个吃饱了没事儿干的老外反复试验发现这个问题是ie6中一个底层机制的bug,之后的版本已经解决了。据说<a href=”javascript:void(0)”>或者<a href=#”>这样使用a标签的话并不能阻止a标签最后触发一个什么行为,导致ie6会错误的认为页面刷新或者重定向了,并且中断了当前所有连接,这样新图片的加载就被aborted了。当然这些吃饱了没事儿干的老外们也提出了各种匪夷所思复杂无比的解决方案。

最简单的方法有两个,一个是这样使用a标签<a href=”swapImgSrc(); return false;”>,另外一个就是用div替换a标签来用。

转自http://www.wufangbo.com/ie6-js-img-src/

posted @ 2015-11-04 15:12  绝版幸福  阅读(739)  评论(0编辑  收藏  举报