Press "Enter" to skip to content


今天在升级我自己的语法高亮显示插件的时候, 发现在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 (已验证)


  1. shell shockers
    shell shockers 2019-11-28

    This HTML coding is difficult to understand but after going through this article it has made some sort of easy.

  2. run3
    run3 2019-08-05

    your post really nice

  3. 2019-06-22

    This topic is very interesting and I am interested but do not know where to find, thankfully you create this topic, hope everyone will help me

  4. Run 3 game
    Run 3 game 2019-05-22

    Thanks for letting us know about this plugging in. Worth sharing and going through post.

  5. assignment代寫
    assignment代寫 2019-02-26


  6. Happy wheels
    Happy wheels 2018-12-28

    Got what I was searching for. Thanks for posting it. Such a help. Thumbs up.

  7. geometry dash lite
    geometry dash lite 2017-12-31

    或者 \r来判断新行开始, 旧行结束的, 所以导致在IE下, 最后一行的内容永远不会显示….

Leave a Reply

Your email address will not be published. Required fields are marked *