Chrome/5.0.375.70 处理 <pre></pre> 的 Bug

今天发现一篇随笔中的代码着色在Chrome/5.0.375.70中不能正常显示,如下图:

正常显示效果应该是下图这样:

代码是放在<pre></pre>标签之间的,显示错乱是由于空格没有被正确处理。在FireFox、IE和Chrome 6中都不存在这个问题,而且只有部分随笔中的代码着色会出现这个问题。

...

上下求索,终于发现这是Chrome/5.0.375.70的一个Bug,当页面中只有一处<pre></pre>代码时,Chrome就不能正常处理<pre></pre>中的空格。而如果有多个<pre></pre>,又会正常。

解决方法:

当只有一个<pre></pre>时,就用JavaScript代码再增加一个<pre></pre>,代码如下:

if (navigator.userAgent.indexOf('Chrome/5.0.375.70'> 0 && $("pre").length == 1) {
    $(
"pre").first().append("<pre></pre>");
}

 

 

posted @ 2010-06-11 16:00  博客园团队  阅读(2161)  评论(5编辑  收藏  举报