我以为我记得读过某个地方IE9会不支持它们,但现在搜索后我找不到任何迹象表明这是真的。
是否有人知道关于微软是否会支持IE9中的条件评论的明确声明?
答案 0 :(得分:21)
平台预览支持它们,启动它(或下载它,然后启动它)并看到这个例子 - http://jsbin.com/axaju3:
<!--[if IE 9]>
<p>You are using IE 9</p>
<![endif]-->
在IE 9文档模式下测试。
直接从马的嘴里,来自IE团队的EricLaw在下面的评论中已经确认在IE9中仍然可以使用CC。
A recent post on the IE blog表明,作为获得一致的跨浏览器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]-->
在平台预览版2中也是如此,作者建议您应该使用特征检测作为替代方案。
答案 1 :(得分:6)
Internet Explorer 9将是支持条件评论的最后版本。随着Internet Explorer 10的发布,微软正在翻开新的一页。根据MSDN上有关Conditional Comments的文章:
在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">
请注意,这将阻止您访问浏览器的最新功能,例如对HTML5和CSS3的更广泛支持,以及更多JavaScript API。
最好的解决方案是让自己远离条件评论。使用Internet Explorer 10,Microsoft的浏览器将开始以与其他流行浏览器相同的方式运行,对编写特定于IE的代码的需求较少,并且完全不需要条件注释。
有条件的评论不是IE10中唯一过时的东西。 There's more
答案 2 :(得分:3)
我认为必须这样做,否则大量的网站会一下子全部破坏,而且微软的利益并不符合微软的利益。
如果存在某种兼容模式,则可以在此模式下支持条件注释,但不能在“纯IE9”中支持。
P.S。只是推测。