【问题标题】:How to write conditional comment for non IE browsers?如何为非 IE 浏览器编写条件注释?
【发布时间】:2010-11-07 14:23:13
【问题描述】:

我不想为 IE 6/7 使用几个 javascript 插件。 但我想将它们用于所有其他浏览器。

我该怎么做? 有什么办法可以吗?

【问题讨论】:

    标签: html internet-explorer-7 conditional-comments


    【解决方案1】:

    来自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]-->
    

    第一行中奇怪的标记用于使标记标准符合标准。

    【讨论】:

    【解决方案2】:

    您的问题最好表述为“使用条件 cmets 从 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 中可能会失败,但这是另一回事。

    【讨论】:

    • 这针对 IE 以外的任何东西,但是 IE > 7 呢?此外,标记不是有效的 HTML,因此未指定任何非 IE 浏览器中的行为。
    • 对于 IE 8 及更高版本,条件可以是 。至于无效标记和未指明的后果:您对微软还有什么期望? ;-)
    【解决方案3】:

    http://www.javascriptkit.com/javatutors/conditionalcompile.shtml上有一个很好的资源来处理这些事情

    这与@_jscript_version 变量结合使用应该可以帮助您实现所需的结果。 (对于 JScript -> IE 版本查找,您必须在 Google 上搜索“版本信息(Windows 脚本 - JScript)”,因为我只能作为新用户嵌入一个链接。):-(

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 2012-09-20
      • 1970-01-01
      • 2011-02-04
      • 2011-03-03
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多