2009-07-02 119 views

回答

41

Wikipedia article on conditional comments(修改,以适应您的版本要求):

<!--[if gt IE 7]><!--> 
<p>This code displays on non-IE browsers and on IE 8 or higher.</p> 
<!--<![endif]--> 

在第一行中的怪异标记用来做标记符合标准。

+0

+1非常有用! – 2011-04-07 13:53:37

+0

有没有办法让非IE浏览器的条件注释通过https://validator.w3.org/进行验证?如果使用除IE或条件注释的变体之外的全部内容会在结束标签上抛出伪造的注释错误。有没有办法避免验证错误? – lowtechsun 2015-09-30 21:15:22

6

你的问题将得到更好的表述为“使用条件注释排除IE浏览器中的内容” ;-)

虽然CC的最常用于提供IE附加内容,还有一个变种,它允许你防止IE看到内容。有了他们惯常的傲慢态度,MS选择称这个“downlevel-revealed conditional comments”(因为在他们的世界中所有其他浏览器都比IE差)。

喜欢的东西

<![if !IE]><p>You are not using Internet Explorer.</p><![endif]> 

应该是你所需要的。

请注意,将此描述为“有条件的评论”是MS奇怪地使用单词来表示他们选择它们的含义的另一个例子,而不是其他人意味着什么:上述工作原因是因为它实际上不是评论,所以IE以外的所有浏览器都假设你在HTML中犯了一个可怕的错误,并继续解析其中的内容。

这也意味着它可能会在使用application/xhtml + xml内容类型的XHTML中严重失败,但那是另一回事。

0

有这样的事情在一个不错的资源:http://www.javascriptkit.com/javatutors/conditionalcompile.shtml

这与@_jscript_version变量一起帮助你达到预期的效果。 (因为我只允许将一个链接作为新用户来嵌入,所以您必须为Google提供“版本信息(Windows脚本 - JScript)”):-(