UPDATE :旧问题仅适用于 IE11 预览;浏览器模式在 IE11 的最终版本中回归。但是有一个问题:它几乎没用,因为它不模拟条件注释。例如,如果您使用它们在旧版 IE 中启用 HTML5 支持,您将无法再在 IE11 中调试您的网站。

        <!--[if lte IE 8]>
            <script src="html5shiv.js"></script>
        <![endif]-->

读取另一个 StackOverflow question 和 IE bug tracker issue 。微软从未对此做出回应,所以看起来他们故意引入这个错误来引导人们购买 BrowserStack 订阅。条件评论模拟在预览版中运行良好。

原始问题 :
在 Windows 7 上安装 IE11 预览版时,它带有老式的 F12 工具,允许更改浏览器模式。
cross-browser - 如何在 IE11 中恢复  &#34;Browser mode&#34;?-LMLPHP

但是,如果您转到“工具”菜单并选择“F12”开发人员工具,它将被新的开发人员工具替换,并且“浏览器模式”不再可用。
cross-browser - 如何在 IE11 中恢复  &#34;Browser mode&#34;?-LMLPHP

将其恢复的唯一方法是卸载 IE11 并重新安装。

有没有更简单的方法可以在 IE11 中的浏览器模式之间切换?

最佳答案

[更新]

原始问题和以下答案专门适用于 IE11 预览版

IE11 的 最终发布版本 实际上提供了从开发工具中的仿真选项卡切换浏览器模式的能力:

cross-browser - 如何在 IE11 中恢复  &#34;Browser mode&#34;?-LMLPHP

话虽如此,我在这里(和其他地方)给出的避免使用兼容模式进行测试的建议仍然有效:如果您想测试您的站点与旧 IE 版本的兼容性,您应该始终在真实副本中进行测试那些IE版本。

但是,这确实意味着不再需要@EugeneXa 的回答中描述的注册表破解来恢复旧的开发工具,因为新的开发工具现在确实具有他所缺少的功能。

[原答案]

IE 开发人员有 故意 弃用了切换浏览器模式的能力。

人们在开发工具中切换模式的原因并不多,但主要原因之一是他们想在旧的 IE 版本中测试他们的网站。不幸的是,IE 提供的各种兼容模式从未真正与旧版本的 IE 完全兼容,使用兼容模式进行测试根本不足以替代在 IE8、IE9 等真实副本中进行测试。

IE 开发人员已经认识到这一点,并故意让开发人员更难犯这个错误。

最佳做法是使用每个 IE 版本的真实副本来测试您的站点。

各种兼容模式在 IE11 中仍然可用,但只有在站点明确声明要在兼容模式下运行时才能访问。您可以通过在您的页面上包含一个 X-UA-Compatible header 来做到这一点。

并且文档模式下拉框仍然可用,但只会提供“边缘”选项(即当前 IE 版本可用的最佳模式,即 IE11 中的 IE11 模式)或页面运行的模式在。

因此,如果您转到以兼容模式加载的页面,您将可以选择在加载页面的特定兼容模式或 IE11“边缘”模式之间切换。

如果您转到以 IE11 模式加载的页面,那么您只会获得“边缘”模式,而不会提供其他任何内容。

这意味着它仍然允许您测试兼容模式页面如何响应更新以在 Edge 模式下工作,无论如何,这是文档模式下拉框唯一真正合法的用例。

IE11 文档模式下拉框旁边有一个 i 图标,可将您带到 Modern.ie 网站。这样做的目的是鼓励您下载 MS 为我们提供的 VM,以使用每个版本的 IE 的真实副本来测试我们的站点。这将为您提供更准确的测试体验,并且强烈鼓励作为比通过在开发工具中切换模式进行测试更好的实践。

希望这可以为您解释一些事情。

关于cross-browser - 如何在 IE11 中恢复 "Browser mode"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17871124/

10-15 10:26