我正在使用新的Internet Explorer 11开发人员工具将文档模式切换为"8",但条件注释仍然被忽略,即它们没有被正确解析并且表现得像普通注释 . 因此,浏览器不会请求/加载条件注释中的任何引用文件 .
为什么会这样?这是一个错误吗?
如果您认为这确实是一个需要修复的错误,请进入并说您也可以在针对此问题报告的Microsoft错误报告中重现此问题:
Conditional comments do not work when emulating document modes via F12 Developer Tools .
Update: 已报告此问题已在上述错误报告中修复 .
8 回答
According至
Jacob Rossi [MSFT]
那张贴于2014年4月22日 .
在自己运行一些测试时,看起来确实已经修复了,而且所有测试都运行得很顺利,以便测试有史以来最令人惊叹的浏览器...... Internet Explorer!
我刚尝试在Windows 7的Internet Explorer 11中使用它来确保我为Internet Explorer 8及以下(通过条件注释)创建了我使用的HTML5语义元素,浏览器只是忽略它们 . -_-
这个功能在Internet Explorer 10中运行得非常好,而微软只是不得不修补它,不是吗?
除此之外,我实际上正在享受Internet Explorer,这是一个改变 .
这对我有用,似乎是最优雅/最简单的修复(Internet Explorer 10和Internet Explorer 11我猜是唯一支持
-ms-high-contract
的浏览器):我最近遇到了同样的问题 . 我还发现一些条件评论有效:
gt
和lt
工作正常gte
和lte
从未奏效因此,一种可能的解决方案是更改条件语句以使用
gt
和lt
运算符 .我觉得更有用的另一种选择是使用像browserstack这样的服务 .
我有另一个解决方案 .
打开Internet Explorer 8兼容模式的Internet Explorer 11包含字符串'MSIE 8.0',因此:
(PHP示例)
我遇到了同样的问题 - 整个上午它让我疯狂 . 我添加了Modernizr,并选择了所有选项,包括yepnope.js .
所以现在我的测试看起来像这样:
在这种情况下,我测试画布(在Internet Explorer 9之前不支持),所以我加载我的条件内容 . 现在,在Internet Explorer 11开发人员工具中切换浏览器模式时,此功能可用
我没有在这里看到它,但是在这个bug report中注意到,如果更改兼容性视图设置,条件注释将按预期工作 . 所以:
在IE11中,单击"Tools"
兼容性视图设置
输入URL并单击“添加”
现在似乎在我的localhost上工作正常 . 我没有对此进行过广泛的测试,但也许它可以帮到某些人 .
一些条件注释正在起作用,例如'
gt
' and 'lt
',但是例如<!--[if IE 8]>
无效 . 对于想要尝试他们的网页在不同版本的Internet Explorer浏览器上看起来如何的开发人员来说,这肯定是不方便的,但这并非全是坏消息 .虽然条件评论不是't working, you can still test how your webpage looks in each of the Internet Explorer versions by appending the stylesheets one at a time: let',但是你有一个Firefox,Chrome,Internet Explorer 10和Internet Explorer 11的样式表,名为'
screen.css
', and another stylesheet ONLY for Internet Explorer 9 called 'screen-ie9.css
' and another one ONLY for Internet Explorer 8 called 'screen-ie8.css
' .要仅针对Internet Explorer 9测试您的网页,您可以执行以下操作:
在F12开发人员工具的“仿真”部分中,将“文档模式”设置为“9”,将“用户代理字符串”设置为“Internet Explorer 9” . 文档模式是Internet Explorer 9使用的标准,用户代理字符串是浏览器本身 .
P.S:我'm assuming that the '
screen.css
' is your base stylesheet which is the reason I am calling it first than 1127859 the Internet Explorer 9 fixes later by calling 'screen-ie9.css
'秒 .通过执行此操作,您可以“确定”(我必须使用VM进行测试,以便在Internet Explorer 9浏览器上查看您的网页时写下'确定'而无引号) . 当您在Internet Explorer 9上完成测试和样式设置,并且想要使用Internet Explorer 8进行测试时,您可以通过替换它来轻松地执行相同的操作:
有了这个:
因此,这只是微软方面的MINOR不便之处,但新的F12开发人员的工具提供了许多令人惊叹的功能,这使得这不是什么大不了的事 .