IE6下非注释引起的内容复制溢出-很奇怪

IE6下有个bug,一些文字内容等会被复制并出现在其他空白的地方,我管它叫 内容复制溢出。

以前调查搜索过解决方法,原来是HTML注释引起的,所以去掉某些html注释(一个个试验,直到找到目标注释),即可解决问题。

这是以前我处理的方法,的确管用。但是今天碰到的同样类似bug,却不能通过去注释来解决了,因为我已经去掉了文档中所有的html注释,问题依旧存在。

IE6本来就是个很奇怪的东西,因此我开始怀疑此bug的真正原因会是什么呢。很遗憾,到目前为止,这篇文章说的并不是解决方法。而是分析原因,而且是不确定的原因。

回想此bug诞生的环境及条件: 1、有浮动;2、清除浮动,zoom:1;3、HTML注释。

以上就是我猜测的可能性。条件3针对本文来说可以排除了,继续寻找原因中。

环境2,目前也可以排除了,即使去掉清除浮动的css,bug还是存在。

2010年10月11日14:39:51,好吧,偶错了。原因是宽度计算错误,左右两列各自左右浮动,总宽度960,左160+右800,但是右侧内部继续分两列,由于padding,margin等,虽然偶确实保证所有宽度和是没有问题的,但是。。。有空时候,希望偶可以把bug简单还原出来。暂时结束。

2010年10月11日15:35:18,最终原因是一个隐藏的弹出层代码导致的。。。杯具,到底是个虾米机制,IE6会有这么个bug…

2010年10月14日15:23:41,弹出层里面是个老外写的文件上传组件,官方:http://github.com/valums/file-uploader,其中用到拖拽文件到上传区域自动上传的功能。。。复杂的东东,他隐含的意思难道就是:埋葬IE6?

2011年11月30日13:19:32,又一个同事碰见了这个问题,不是注释引起,不是以上所述原因,最后解决是把代码格式化了一次,bug消失。由此似乎可以推断,IE6下会发生内容克隆(复制) 溢出的根本原因在于一些特殊字符,只要能清除掉这些不可见的特殊字符,就可以解决问题。

http://cssor.com/ie6-content-copied-overflow-bug-in-investigation.html

IE6下非注释引起的内容复制溢出-很奇怪》有 2 条评论

  1. 2012.12.20 @ 10:12 王璜

    你好,我现在使用file-uploader也遇到了此问题,能不能传下代码格式化的工具给我。试过网上一些格式化工具都没用。感激呀。

    • 2012.12.20 @ 16:12 ToFishes

      当时格式化用的工具是 Eclipse,你google就知道了。另外编辑器设置编码都是UTF-8,你可以借鉴一下。

参与评论

电子邮件地址不会被公开。 必填项已用*标注

*

全部分类
Books(4)code(7)database(6)html&css(24)java(11)JavaScript(51)jQuery(24)linux(20)python(1)React(1)share(1)soft(4)solution(53)thinking(17)vim(9)WordPress(8)前端优化(12)拓展(33)服务器(33)移动开发(4)自然(22)