IE9会支持条件评论吗?

gre*_*eim 23 html internet-explorer conditional-comments internet-explorer-9

我以为我记得读过某个IE9 不会支持他们的地方,但现在搜索后我找不到任何迹象表明这是真的.

对于微软是否会支持IE9中的条件评论,是否有人知道一个明确的声明?

And*_*y E 21

平台预览版支持它们,启动它(或下载它,然后启动它)并看到这个例子 - http://jsbin.com/axaju3:

<!--[if IE 9]>
    <p>You are using IE 9</p>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

在IE 9文档模式下测试.

直接从马的口中,来自IE团队的EricLaw在下面的评论中已经证实,IE仍然可以使用CC.


IE博客上最近的一篇文章表明,作为获得一致的跨浏览器HTML5解析工作的一部分,条件注释在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]-->
Run Code Online (Sandbox Code Playgroud)

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

  • 他们不会离开. (4认同)

Sam*_*son 6

Internet Explorer 9将是支持条件注释的最后一个版本.随着Internet Explorer 10的发布,微软正在翻开新的一页.根据MSDN关于条件评论的文章:

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

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

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
Run Code Online (Sandbox Code Playgroud)

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

最好的解决方案是让自己摆脱条件评论.使用Internet Explorer 10,Microsoft的浏览器将开始以与其他流行浏览器相同的方式运行,对编写特定于IE的代码的需求较少,并且完全不需要条件注释.

有条件的评论不是IE10中唯一过时的东西.还有更多.


小智 3

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

如果存在某种兼容模式,那么该模式可能支持条件注释,但“纯 IE9”不支持。

PS 只是猜测。