靠谱的软件下载站
当前位置:  IEfans/IE专区/IE相关/pre标签里的代码在IE浏览器下无法完全显示

pre标签里的代码在IE浏览器下无法完全显示

IE相关 互联网 2010-04-29 阅读(1678)
最近在网站中添加语法高亮显示插件的时候,发现在IE浏览器下,任何代码都会缺少最后一行的显示,如果pre标签中只有一行代码的时候,就什么都不显示出来了。通过使用工具在浏览器下检测后发现,要是你的代码中包含以下语句,那么在IE浏览器上运行的结果就会比在其他浏览器中少一行。 1.    var codes = document.getElementsByTagName("pre"); 2.    alert(codes[0].length); //IE浏览器下如果是10,那么在火狐和Chrome浏览器中就是11 因为这款语法高亮插件,是通过对最后一个字符是否为\n ,或者 \r来判断新行开始,旧行结束的。所以导致在IE下,最后一行的内容永远不会显示。 原来, IE对所有要显示的data都做了text normalization,即使是pre或者textarea这种应该保持原状的标签,应该是这个原因,导致在显示pre内容的时候,行尾的回合换行被抹掉了。 后来检测三款主流的IE浏览器:IE6\IE7\IE8都存在这个问题。 虽然Web技术人员最常使用的浏览器是Firefox、Safari和Chrome,但是IE浏览器在所有终端用户那里的统计数字,市场份额保持在50%以上,这让我们更加注重IE下的显示效果。

标签:IE相关IE浏览器代码pre

Copyright © 1998-2017 www.iefans.net All Rights Reserved 湘ICP备13012168号-17