IE下pre标签的InnerHTML问题
浏览:1644次 出处信息
今天在升级我自己的语法高亮显示插件的时候, 发现在IE下, 都缺少了最后一行的显示, 如果pre中只有一行语句的时候, 就什么都不显示..
追踪了半天(IE下我只用Alert,,,), 最后发现, 如下语句在IE上运行的结果, 比在FF/Chrome中少1.
- var codes = document.getElementsByTagName("pre");
- alert(codes[0].length); //IE下如果是10, 那么在FF/Chrome中就是11
因为我的语法高亮插件, 是通过对最后一个字符是否为\n ,或者 \r来判断新行开始, 旧行结束的, 所以导致在IE下, 最后一行的内容永远不会显示..
原来, IE对所有要显示的data都做了text normalization, 即使是pre或者textarea这种应该保持原状的标签, 应该是这个原因, 导致在显示pre内容的时候, 行尾的回合换行被抹掉了.
有这个问题的IE包括: Explorer 6, 7, 8 (已验证)
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:IE7 form中input背景图片失效的解决
后一篇:XML/RSS的CDATA区段 >>
文章信息
- 作者:雪候鸟 来源: 风雪之隅
- 标签: InnerHTML pre
- 发布时间:2010-04-16 13:28:58
建议继续学习
近3天十大热文
- [12] 逃出你的肖申克(五):看不见的牢笼(上)
- [9] linux 简单架设防火墙路由器
- [9] 关于身份证号的那些事
- [9] [Perl]Moose::Manual::T
- [8] 数据与理论结合,让交互设计更专业
- [8] 位置服务类产品的用户状态和地点管理设想
- [8] 优先为移动设计的理由
- [8] SNS背后的科学(1)从六度分隔到无尺度网络
- [8] iOS的定位原理揭秘
- [8] Nginx带宽控制