【问题标题】:Will IE9 support conditional comments?IE9 会支持条件注释吗?
【发布时间】:2011-03-01 08:06:19
【问题描述】:

我想我记得在某处读到过 IE9 将支持它们,但现在搜索后我找不到任何迹象表明这是真的。

是否有人知道关于 Microsoft 是否会在 IE9 中支持条件 cmets 的明确声明?

【问题讨论】:

  • 希望 IE9 根本不需要条件 cmets。
  • @jeroen:哈哈哈哈哈哈。哦,哇。
  • 我建议您不要使用条件 cmets 进行编码。 IE 10 将被删除;虽然它适用于旧版浏览器。

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


【解决方案1】:

Platform Preview 支持它们,启动它(或下载它,然后启动它)并查看这个示例 - http://jsbin.com/axaju3

<!--[if IE 9]>
    <p>You are using IE 9</p>
<![endif]-->

在 IE 9 文档模式下测试。

IE 团队的 EricLaw 直言不讳地在下面的 cmets 中证实,CC 仍然在 IE9 中可用。


A recent post on the IE blog 表明,作为获得一致的跨浏览器 HTML5 解析的一部分,条件 cmets 将无法在 IE10 的渲染引擎中工作:

<!--[if IE]>
This content is ignored in IE10 and other browsers.
In older versions of IE it renders as part of the page.
<![endif]-->

从 Platform Preview 2 开始就是这样,作者建议您应该使用特征检测作为替代方案。

【讨论】:

    【解决方案2】:

    Internet Explorer 9 将是支持条件 cmets 的最后一个版本。随着 Internet Explorer 10 的发布,微软正在翻开新的一页。根据Conditional Comments上的MSDN文章:

    Windows Internet Explorer 10 Release Preview 标准和怪癖模式已删除对条件 cmets 的支持,以提高互操作性和与 HTML5 的合规性。这意味着条件注释现在被视为常规 cmets,就像在其他浏览器中一样。此更改可能会影响专门为 Windows Internet Explorer 编写的页面或使用浏览器嗅探来改变其在 Internet Explorer 中的行为的页面。

    虽然这不会影响大多数在线网站,但它可能会影响您的网站。如果是,请考虑使用与 x-ua 兼容的元标记或标头来指示 Internet Explorer 模拟 Internet Explorer 9(支持条件 cmets 的最后一个版本):

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
    

    请注意,这将阻止您访问浏览器的最新功能,例如对 HTML5 和 CSS3 的更广泛支持以及更多 JavaScript API。

    最好的解决方案是让自己摆脱有条件的 cmets。借助 Internet Explorer 10,Microsoft 的浏览器将开始以与其他流行浏览器大致相同的方式运行,从而减少对编写 IE 特定代码的关注,并且完全不再需要条件 cmets。

    条件注释并不是 IE10 中唯一过时的东西。 There's more.

    【讨论】:

    • 最佳答案,imo。元标记确实帮助调试了很多 IE 版本。问题。非常感谢!
    【解决方案3】:

    我相信它必须这样做,否则大量网站会同时崩溃,并且为 IE9 做这样的开始并不符合微软的最佳利益。

    如果会有某种兼容模式,那么有可能在这种模式下会支持条件 cmets,但在“纯 IE9”中不支持。

    附:只是猜测。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-26
      • 2012-06-15
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      相关资源
      最近更新 更多