`
魏祖清
  • 浏览: 180297 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

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

    博客分类:
  • js
阅读更多
首先,我必须再次强调一下,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标签来用。
分享到:
评论

相关推荐

    js改变img标签的src属性在IE下没反应的解决方法

    在JavaScript编程中,修改`&lt;img&gt;`标签的`src`属性是一种常见的操作,例如用于实现图片的动态加载或轮播效果。然而,在不同浏览器中,这种操作的兼容性可能存在差异,尤其是在老版本的Internet Explorer(IE)中。...

    Jquery修改image的src属性,图片不加载问题的解决方法

    描述中提到,在IE6浏览器下图片能够正常刷新显示,但在IE7以及Firefox浏览器中不刷新。这说明不同浏览器对缓存机制的处理存在差异,这在进行跨浏览器兼容性测试时非常重要。 标签“Jquery image src”指的是使用...

    ie6中png透明解决方案 js

    其中,一种常见的解决方案是使用James Padolsey的JavaScript库,它通过检测浏览器版本并插入适当的CSS滤镜来解决IE6下的PNG透明问题。例如,可以使用以下代码: ```javascript function fixPNG() { if (window....

    实现ie6的png图片透明的2种方法

    本文将详细介绍两种在IE6中实现PNG图片透明的方法:一种针对`&lt;img&gt;`标签,另一种则应用于CSS背景图。 #### 方法一:针对`&lt;img&gt;`标签 这种方法主要是通过JavaScript来解决PNG图片的透明度问题。具体实现思路如下: ...

    解决IE6下PNG图片背景色不透明问题的方法

    本文将详细介绍如何解决IE6下的PNG图片背景色不透明问题。 首先,理解问题的原因至关重要。IE6不完全支持PNG8和PNG24这两种PNG格式。特别是PNG24,它包含了24位颜色和一个alpha通道,用于实现半透明效果,但IE6只能...

    js修复IE不能显示PNG图片透明背景的方法

    ### js修复IE不能显示PNG图片透明背景的方法 #### PNG图片及其特性 PNG(Portable Network Graphics)是一种常用的位图图形格式,以其高效的压缩算法和对透明度的支持而受到广泛青睐。相较于传统的GIF格式,PNG...

    IE 6 下PNG图片实现透明

    这篇教程将详细介绍如何在IE6下实现PNG图片的透明效果。 首先,我们需要理解IE6对PNG透明的支持问题。IE6只部分支持PNG-8格式,而不支持PNG-24格式的半透明或Alpha透明。PNG-8最多只能有256种颜色,并且不支持Alpha...

    png在ie6下半透明js修正

    这个问题源于IE6不支持PNG24位的Alpha通道,导致PNG图像的透明部分在IE6下显示为黑色或完全不透明。这个问题在Web开发中是一个常见的痛点,因为PNG格式常用于需要透明背景的图形,如logo、图标等。 为了解决这个...

    ie6下png图片问题

    综上所述,解决IE6下的PNG图片不透明问题需要结合CSS、JavaScript和网页设计策略。选择合适的方法取决于项目需求、用户群体以及对浏览器兼容性的重视程度。对于现代网站,虽然IE6的使用率已经极低,但了解并解决这类...

    IE6图片透明

    这个库通过JavaScript模拟实现了PNG的Alpha透明通道,使得在IE6下也能正确显示带有透明效果的PNG图片。它的原理是利用滤镜(filter)属性,结合Vml(Vector Markup Language)技术来达到透明效果,这是一种IE6特有的...

    PNG图片在IE6下完美透明的JS

    ### PNG图片在IE6下完美透明的JS:深入解析与实现原理 #### 一、问题背景及重要性 在Web开发的历史长河中,Internet Explorer 6(简称IE6)曾占据主导地位,但其对现代Web技术的支持有限,尤其是对PNG格式图像的...

    使IE6正常显示PNG-24格式图片代码

    该函数遍历页面中的所有图片元素,当发现图片的源文件(`.src`)的后缀为“PNG”时,它会创建一个新的`&lt;span&gt;`元素来替换原来的`&lt;img&gt;`元素。新`&lt;span&gt;`元素应用了`filter`样式,使用`DXImageTransform.Microsoft....

    兼容IE6、7、8的graphics画图的背景设置

    6. **新HTML结构**:创建一个新的`&lt;span&gt;`元素来替换原有的`&lt;img&gt;`标签,并使用IE特有的`AlphaImageLoader`滤镜来加载PNG图片,同时设置`sizingMethod`为`scale`,以保持图片原始大小的比例。 7. **事件绑定**:在...

    实现PNG图片在IE6下的背景透明

    2. **JavaScript库**:使用JavaScript库如`correctpng.js`可以动态地解决IE6的PNG透明问题。这个库会检测浏览器是否为IE6,并应用必要的补丁。在HTML中引入`correctpng.js`,然后确保图片的`class`或`id`被正确识别...

    解决ie6 PNG透明问题——两种方法都好用哦

    本文将详细介绍两种有效解决IE6下PNG图片透明显示问题的方法。 #### 方法一:使用 CSS Hack ##### 原理 这种方法利用了IE6的一个特性,即它会解析特定的HTML注释,并执行其中的JavaScript代码。通过这种方式,我们...

    解决png格式图片在IE6无法透明的js文件及示例

    然而,在Internet Explorer 6 (IE6) 这个古老的浏览器上,PNG图片的Alpha透明通道并不能得到很好的支持,导致图片显示为不透明或有颜色异常。这在网页设计中是一个常见的问题,因为设计师往往需要使用透明效果来实现...

    IE6中觉得PNG格式图片阴影的方法

    这些问题主要源于IE6对PNG-24格式的支持不足,导致图片显示不全或出现异常。 为了解决IE6中的PNG阴影问题,我们可以利用一个名为iepngfix.htc的解决方案。iepngfix.htc 是一个行为(Behavior)文件,它是CSS扩展的...

    IE6_PNG透明终极解决办法

    4. **条件注释**:IE6特有的条件注释可以用来针对IE6应用特定的CSS样式,确保只在IE6下启用透明修复代码,不影响其他浏览器。 5. **升级或替换浏览器**:尽管这是最理想的解决方案,但实际操作中由于各种原因(如...

Global site tag (gtag.js) - Google Analytics