博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一个IE浏览器下注释解析的bug

Posted on 2012-07-17 10:47  _edifier_  阅读(530)  评论(4)    收藏  举报

最近可能时运不济,经常遇到一些超出常规的怪问题!下面是一个有关IE浏览器对注释解析的bug,问题虽小,但改起来却着实让人头痛啊!

好吧,废话少说,直接看问题:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <input type="button" onclick="test();" value="click me">
        <div id="test">
        </div>
    </body>
    <script type="text/javascript">
            function test(){
                var string = 'test<!--<![endif]--><!--[if gte mso 10]>-->这里的内容在IE下将不会被显示';
               document.getElementById('test').innerHTML = string;
            }
    </script>
</html>

 

这样的一段代码在非IE浏览器下运行正常,但是IE9及以下版本上,会出现解析错误!问题出在string字符串中注释的XML语句,如有路过的大牛有幸看到这篇文章,烦请帮小弟解释一下出现这种问题的原因!不胜感激,不胜感激!