IE的JavaScript条件评论

时间:2016-09-24 01:04:29

标签: javascript internet-explorer

以下是针对Internet Explorer 9+和所有非IE浏览器的经典条件评论

<!--[if gt IE 8]><!-->
    IE 9+ and all non-IE browsers see this text.
<!--<![endif]-->

这4个部分的目的是什么?

<!--[if gt IE 8]>
<!-->
<!--
<![endif]-->

2 个答案:

答案 0 :(得分:2)

它们是带有条件语句和运算符的HTML注释。让我分解一下:

<!--[if gt IE 8]><!-->

此处的gt表示大于,IE表示Internet Explored,而版本紧随其后。这样:

<!--<![endif]-->

结束条件语句的方法。此特定语法与常规HTML兼容语法不同:

<!--[if condition]>-->
   Stuff here
<!--<![endif]-->

由于以下原因,来自SitePoint

  

IE7及更高版本的浏览器也会在打开条件语句后显示-–>。 Microsoft建议的修复是在打开条件注释后添加额外的<!

这意味着-->之后的<!--[if condition]>是IE 7+浏览器的解释器。您给出的评论用于解决此问题。详细了解条件评论at Microsoft's MSDN

答案 1 :(得分:1)

如果浏览器对如何解析 if 感到困惑,那么这看起来就像一个普通的旧HTML评论:

<!--  [if gt IE 8]><!  -->

这样做:

<!--  <![endif]  -->