如何在IE11中恢复“浏览器模式”?


132

更新:原来的问题仅适用于IE11预览;IE11的最终版本已返回浏览器模式。但是有一个陷阱:它几乎没有用,因为它不模仿条件注释。例如,如果使用它们在旧版IE中启用HTML5支持,则将不再能够在IE11中调试站点。

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

阅读另一个StackOverflow问题和IE Bug跟踪器问题。Microsoft从未对此做出回应,因此他们似乎是故意引入了此错误,以引导人们购买BrowserStack订阅。在预览版中,条件注释仿真效果很好。

原始问题:在Windows 7上安装IE11预览版时,它附带了老式的F12工具,该工具可以更改浏览器模式。 在此处输入图片说明

但是,如果转到“工具”菜单并选择“ F12”开发人员工具,它将被新的开发人员工具替换,并且“浏览器模式”不再可用。 在此处输入图片说明

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

在IE11中,是否有更简单的方法在浏览器模式之间切换?


1
对于MS特定论坛(或可能是错误报告),这似乎是一个很大的问题
Mathletics

4
@Mathletics-不是bug,这是故意的。
Spudley13年

2
您如何设法获得第一个屏幕?为什么我按F12键,出现第二个屏幕。
Sliq 2013年

1
@Panique-刚安装IE11时就在那里。可能是因为IE10中一直有F12工具,所以它以某种方式迁移了此设置。然后,我可以使用F12键显示和隐藏它。只是不要去工具菜单。如果要恢复,请先卸载IE11更新。为我工作。
Evgeny

Answers:


146

[更新]

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

实际上,IE11 的最终发行版确实提供了从开发工具的“仿真”选项卡切换浏览器模式的功能:

屏幕截图显示了仿真选项卡中的浏览器模式选择

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

但是,这确实意味着不再需要@EugeneXa的答案中描述的注册表黑客来带回旧的dev工具,因为新的dev工具现在确实具有他所缺少的功能。


[原始答案]

IE开发人员特意弃用了切换浏览器模式的功能。

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

IE开发人员已经意识到了这一点,并故意使开发人员更难犯此错误。

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

IE11内部仍然可以使用各种兼容模式,但是只有在站点明确声明要以兼容模式运行时,才可以访问这些兼容模式。您可以通过X-UA-Compatible在页面上包含标题来实现。

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

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

而且,如果您转到以IE11模式加载的页面,那么只会为您提供“边缘”模式,而没有其他选择。

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

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

希望对您有所帮助。


8
尽管使用MS提供的免费VM进行测试绝对更好,但它也更加耗时。我必须启动虚拟机,必须在多个不同的虚拟机之间切换,并且每次激活计时器用完时都必须重新安装这些小错误,因为它们没有提供任何激活密钥。不过,我想我们应该感谢他们实际上为设置这些VM带来了麻烦。使用旧的F12兼容模式可能会遇到很多问题,然后使用VM进行一次验证。但是我离题了。
ivarni

7
我理解为什么他们认为不建议使用“兼容模式”下拉列表是个好主意,但对于任何真正花费时间确保其网站在IE中正常工作的开发人员来说,这也是一个耳光。正如其他人提到的那样,使用兼容性检查器检查明显的错误效果很好。另外,您还拥有一套不错的开发工具集(相对于IE7甚至是8中的垃圾),我做过一种实践,也可以签入VM,任何优秀的开发者都可以。但是,这种变化只会意味着更少的开发人员会关心使旧的IE正常工作。
LocalPCGuy

4
顺便说一句,我不必在虚拟机中加载完整的操作系统来测试愚蠢的浏览器。如果Microsoft确实希望开发人员确保他们的东西可以在IE的较早版本中使用,则他们应该为此提供更好的免费选项。否则,似乎可以肯定的是,他们似乎在鼓励开发人员忽略旧版本,而只担心解决新版本中的错误。
LocalPCGuy

9
不,... BrowserStack不是免费的,VM很难使用(别告诉我,我已经安装了它们,每三个月必须重置一次,以此类推...等等) )。我完全了解Modern.ie和Microsoft的产品。微软正在取消一种简单,免费的方法,该方法可解决大多数开发人员需要测试的90%的问题,并用笨拙的VM或付费服务代替它。彩色我没有留下深刻的印象。我是Microsoft的支持者之一,主要在.NET商店工作。我认为这是DUMB。
LocalPCGuy

4
我看到的是:“我们搞砸了,我们为您提供了错误的工具来解决我们的错误,因此现在我们将向您介绍能够带来收益的工具。”
Zenexer

19

虽然使用虚拟机是测试旧IE的最佳方法,但是可以通过编辑注册表来恢复老式F12工具,因为当新F12工具被激活时IE11会覆盖该值。

感谢出色Dimitri Nickolas的技巧。 在此处输入图片说明

这对我有用(另存为.reg文件并运行):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\WebBrowser]
"ITBar7Layout"=hex:13,00,00,00,00,00,00,00,00,00,00,00,30,00,00,00,10,00,00,00,\
  15,00,00,00,01,00,00,00,00,07,00,00,5e,01,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,69,e3,6f,1a,8c,f2,d9,4a,a3,e6,2b,cb,50,80,7c,f1

8
我不知道是否有人能找到一种方法来破解IE11以找回旧的开发工具,还是为自己的目的而舍弃IE11开发工具中所有令人惊奇的新东西而感到沮丧,这让我印象深刻能够切换浏览器模式。:-(
Spudley

7
这与微软生产不符合W3C标准的浏览器的遗产有关。IE10或11没什么问题-它们是出色的现代浏览器。大约都是9和8,直到最近是7和6。由于不可能将它们与现代IE一起安装在Windows 8中,因此需要良好的仿真工具。
Evgeny

1
这里的技巧很有趣,但显然不受Microsoft支持,并且可能会产生意想不到的副作用。
EricLaw

5
我认为这根本没有意义。测试IE时,我的工作流程是首先使用F12兼容模式并充实发现的所有问题,然后再遇到启动虚拟机的麻烦。这比在(不同)VM中进行所有IE测试要有效得多。
ivarni

2
为了使此reg hack对我有用,我还必须更新ITBar7Layout64值。然后它起作用了,但是关闭和打开F12工具使IE崩溃了:)好事,我做了reg密钥的备份。
伊恩·耶茨

17

您可以使用仿真(Ctrl + 8) 文档模式(10,9,8,7,5),浏览器配置文件(台式机,Windows Phone)获得此功能

在此处输入图片说明


感谢您分享在哪里找到的东西,我感到很困惑!:)
米歇尔(Michelle)

5

最简单的方法,尤其是在MSDN中,浪费我的时间,愚蠢的MS

http://support.microsoft.com/kb/2900662/en-us?sd=rss

  1. 打开开发人员工具窗格。为此,请按F12。
  2. 打开仿真屏幕。为此,请按Ctrl + 8。
  3. 在“模式”下的“文档模式”列表中,单击9。
  4. 在“模式”下的“用户代理字符串”列表上,单击“ Internet Explorer 9”。

3
仅供参考,请尝试包括决议的细节,而不是简单地提供链接。如果链接断开,那么答案对将来的人毫无用处。该链接很有用,但请保留为对详细答案中包含的信息的链接参考。
Anil Natha 2013年

4

您可以通过X-UA-Compatible为要调试的IE的特定版本设置元头来解决此问题。这会将浏览器模式更改为您在标题中指定的版本。

例如:

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

为了在开发人员工具上更新浏览器模式,必须关闭[开发人员工具]并再次重新打开。这将切换到该特定版本。

通过刷新从次要版本切换到更高版本将可以正常工作,但是如果您要从更高版本切换到次要版本(例如从9切换到7),则需要打开一个新标签并加载再次翻页。

这是屏幕截图:

在此处输入图片说明


2

在IE11中,我们可以将用户代理更改为IE10,IE9甚至Windows Phone。真的很好


3
那只是改变了用户代理字符串。它不会改变浏览器的行为。兼容性测试完全没有用。
Zenexer 2014年

2

如何在IE11中恢复“浏览器模式”?

轻松带回的方法就是进入仿真(Ctrl +8)

并更改用户代理字符串。(见附图)

在此处输入图片说明


那只是改变了用户代理字符串。它不会改变浏览器的行为。兼容性测试完全没有用。另外,您的示例使用的是X-UA-Compatible。
Zenexer 2014年

2

Microsoft有一个专门用于此目的的工具:Microsoft Expression Web。有一个免费版本,其中包含许多没人想要的类似于FrontPage / Dreamweaver的垃圾。重要的是它具有出色的浏览器测试功能。我正在使用Internet Explorer 11运行Windows 8.1 Pro(最终发行版,而不是预览版)。我得到以下本地浏览器:

  • Internet Explorer 6
  • Internet Explorer 7
  • Internet Explorer 11 /!\不支持的版本(无法使用;哎呀,我有浏览器)

然后,我得到一个远程浏览器(测试版)选项。我应该使用有效的电子邮件进行注册,但是与服务器通信时出错。那好吧。

以前曾经支持Firefox,但现在看不到它。可能藏起来了。

我可以在浏览器版本之间进行比较。我还可以将其与图像或显然与PSD文件进行比较(不知道其效果如何)。InDesign会很好,但是可能要求太多。

由于Visual Studio Ultimate安装在同一台计算机上,因此我还部分安装了完整版的Expression,因此,我很感谢有人在评论中确认我的免费安装不会自动升级。

更新:在线服务似乎已停止,但仍支持本地浏览器。您也可以只下载SuperPreview,而无需编辑器垃圾。如果您需要完整的IDE,则最新版本为Microsoft Expression Web 4(免费版本)。这是受支持的浏览器官方列表。在Windows 8.1上,IE6似乎给出了一个错误,但IE7可以工作。

2014年12月9日更新:微软已经放弃了这一点。不要指望它能很好地工作。


上次我查看Expression Web / Super Preview时仅提供了各种浏览器中页面的静态快照。虽然这是像素完美的网页设计师想要的东西,它不是开发者想要的东西-我们要配页,调试JS和CSS交互和操作DOM,而这也正是IE浏览器开发者工具进来了。
saille

@saille我目前不在我面前,但我很确定它是交互式的。
Zenexer 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.