在同一台计算机上运行Internet Explorer 6、Internet Explorer 7和Internet Explorer 8

339

像其他人一样,我需要在Internet Explorer 6和Internet Explorer 7上测试我的代码。现在,Internet Explorer 8为开发人员提供了一些很棒的工具,我想要使用它们。我也想开始使用Internet Explorer 8测试我的代码,因为它很快就会发布。

问题是:如何在同一台机器上运行Internet Explorer 6、Internet Explorer 7和Internet Explorer 8。到目前为止,在Internet Explorer 6和Internet Explorer 7上,我一直在使用Multiple IE。但是,人们报告(请参见前面链接页面上的评论)在安装Internet Explorer 8后出现了与表单字段中的焦点相关的Internet Explorer 6问题。运行Internet Explorer 7并不重要,因为Internet Explorer 8可以使用Internet Explorer 7呈现引擎,但我们仍然需要Internet Explorer 6。

如何在同一台机器上运行Internet Explorer 6、Internet Explorer 7和Internet Explorer 8?


请查看http://meta.stackexchange.com/questions/9686/what-is-the-most-rampant-duplicate-on-stack-exchange-sites/73989#73989,了解“小”的重复列表。 - Rob W
请查看"IECollection":可在许多版本的Windows操作系统下运行。但是“最好在32位Microsoft Windows XP Service Pack 3版本下运行(无论是否在虚拟机中)”。因此,最好安装MS Windows XP SP3虚拟机并在其中运行IECollection。请参见http://coding.smashingmagazine.com/2011/09/02/reliable-cross-browser-testing-part-1-internet-explorer/。 - Adriano
请参考现代.IE(微软项目)更新的答案(2013)https://dev59.com/n3RB5IYBdhLWcg3wl4Sc#14722473。 - Adriano
你也可以使用BrowseEmAll - masoud
我不想把它作为答案,所以我要留下评论。有一个完全免费的网站,可以在任何新旧浏览器和不同操作系统上截取屏幕截图。尝试使用类似的工具,例如http://browsershots.org/。 - ZaxLofful
显示剩余3条评论
38个回答

221

我不会这样做。相反,应该使用虚拟机来完成。这可能需要一些设置,但从长远来看你会感谢自己的决定。从我的经验来看,你不能真正地将它们干净地并排安装,并且除非它们是独立的安装,否则你无法验证它是否完全符合浏览器渲染。

更新: 如果运行Windows 7,则实现此目的(其中一种更好的方法)的最佳方式之一是使用Windows XP模式设置多个虚拟机:在一台PC上测试多个IE版本IEBlog.

更新2:(11/2014)自上次更新以来有了新的解决方案。Microsoft现在提供VM以测试IE的多个版本的任何环境:Modern.IE


12
正文:tangent: http://www.virtualbox.org/ 看起来很不错。虽然我自己还没有尝试过,但这可能是一个很好的机会去试一下? - Ian Robinson
79
很遗憾,这是正确的答案。微软应该让它能够工作。除非你的机器是一台强大的昂贵巨兽,否则你不能同时运行多个虚拟机,这意味着你必须分别测试和修复每个浏览器。 - Bjorn
16
世界上有多少人实际上需要同时运行三个不同版本的浏览器?你不能指责微软或其他任何软件公司没有将他们的软件编写为只满足0.000001%需要这种功能的人。 - Dave Swersky
49
@Dave...我敢打赌,大部分开发大型网络应用的人都需要这个功能。我们讨论的不是那么小众的需求。此外,还有很多其他人也希望拥有这个功能……我希望能够升级我的软件,而不会覆盖掉旧版本,这样如果我决定回到旧版本,就可以轻松地切换回去。 - Beska
9
这个问题链接到一个微软支持页面,您可以在该页面下载包含IE 6、IE 7和IE 8的虚拟机:https://dev59.com/NHVC5IYBdhLWcg3w9GLM - Paul D. Waite
显示剩余11条评论

156
没有人提到过,但是IETester是一个很棒的工具。它支持Internet Explorer 5.5、6、7和8RC1版本。渲染与相应的浏览器一致。至少我还没有发现任何差异。

我通常使用它来进行布局的基本检查。我仍然需要使用虚拟机来调试JavaScript或者使用特定版本的Internet Explorer开发者工具栏。

IETester 0.3


4
这是一个好主意,但实际上没有得到许可。微软的IE许可明确禁止再分发,虽然他们不太可能针对这种应用采取行动,但如果你的组织接受审计,它在技术上算作盗版。 - Keith
6
IETester偶尔会出现一些令人不爽的错误,尤其是当你没有预料到时。例如,在设置了来自JavaScript的cookie时。 - Sergey
2
我正在处理的网站有弹出窗口,这似乎破坏了这个工具。对我没用。 - jcollum
14
很遗憾,IETester存在很多漏洞 - 经常会发现与本机安装的IE6等浏览器行为不同。 - Art
1
超级有问题。持续崩溃。不好用。请改用Modern.IE。 - iconoclast
显示剩余6条评论

55

@Martin:是的,如果你有IE8,你可以通过兼容性视图查看IE7,当然也可以查看IE6和IE8。 - Eduardo Molteni
21
我说的对吗?它只是呈现页面,但你实际上不能与其交互(例如按按钮、输入文本等)。这使它比我想象中的不太有用,因为你不能像用户一样浏览网站。 - Tom van Enckevort
8
老实说,它并不是一款非常出色的产品,速度很慢(非常非常非常非常慢),而且没有交互功能。 - JL.
我正在使用它,但有时结果会有所不同。我总是使用IE“netrenderer”检查我的网站。它需要Microsoft .NET Framework 4,并且生成的预览是从IE8呈现IE7基于网站的能力(您也可以使用IE的Web开发人员工具插件进行操作),这并不是100%正确的。当从远程服务器打开网站时,它也非常非常非常慢。 - Gaurav Sharma
@shareef,“Expression Web SuperPreview是一个独立的免费应用程序。它提供与Expression Web中SuperPreview版本相同的功能,试用期为60天。试用期过后,SuperPreview将继续在所有版本的Internet Explorer中呈现您的页面。” - Eduardo Molteni
显示剩余2条评论

50
我建议您运行几个虚拟机,而不是在同一台 Windows 实例上运行多个版本的 Internet Explorer。
微软在 Internet Explorer 应用兼容性 VPC 映像 下载页面提供了带有 Internet Explorer 6、7 和 8 的 Virtual PC 磁盘映像。
上述链接提供的当前虚拟磁盘映像列表如下:
- Windows XP SP3 上的 Internet Explorer 6 - Windows XP SP3 上的 Internet Explorer 7 - Windows XP SP3 上的 Internet Explorer 8 - Windows Vista 上的 Internet Explorer 7 - Windows Vista 上的 Internet Explorer 8
(截至2009年10月11日,所有版本均有过期日期。)

有没有办法让这些图片在VirtualBox中工作?创建一个带有镜像的虚拟机并启动它是没有问题的,但是在启动过程中会崩溃。我猜这是由于VirtualPC和VirtualBox的不同虚拟机硬件引起的。 - BetaRide
最近(2011年10月),我在寻找这些内容时发现微软已经删除了带有IE7和IE8的Windows XP镜像。Vista上也是如此。现在只有Vista才能使用IE7(4179MB vs. 366MB),而只有Windows 7才能使用IE8(2633MB vs. 366MB)。 - David M. Miller
@coobird:我最近(2011年10月)去寻找这些内容,发现微软不再提供带有IE7或IE8的Win XP SP3映像(或者说,值得一提的是,带有IE8的Vista)。他们现在唯一可用的IE7映像只适用于Vista(4179MB vs. 366MB);IE8映像只适用于Windows 7(2633MB vs. 366MB)。最好在Win7 Pro上安装Windows XP模式并复制IE7和IE8,正如Ian Robinson在第一篇文章中建议的那样:Testing Multiple Versions of IE on One PC - IEBlogs - David M. Miller
2
您可以从此处下载带有IE6的Windows XP镜像,并从中升级到IE7或IE8。请参阅此新镜像的屏幕截图:http://i.imgur.com/z1udL.jpg - Paul Lammertsma

40

现代IE是微软推出的一个项目,旨在使Internet Explorer浏览器的跨浏览器测试更加容易。微软创建了现代IE,为开发人员和设计师提供一套工具,以便于IE浏览器测试。

使用现代IE,您有两种方法来测试您的网站在IE中的表现。首先,现代IE为您提供了三个月免费使用基于Web的浏览器测试服务BrowserStack。您只需要一个Facebook账户即可登录并开始测试。

现代IE提供的第二种方法是虚拟化每个IE 6到IE 10浏览器的映像,可以在Windows、Mac或Linux上运行虚拟化软件,如VirtualBox、Virtual PC、Hyper-V或VMWare Player。

此外,现代IE还提供一个扫描您的网页常见编码问题的工具,并将它们列出供您纠正,以便在所有IE版本中正确显示。

来源:现代浏览器 - 跨浏览器IE测试工具套件


4
那是镇上的新工具! - Ahmad Alfy
2
这需要更多的支持。这是最好的和最新的解决方案。 - scottlimmer
4
这是模拟器下载的直接链接: http://www.modern.ie/en-US/virtualization-tools#downloads - Tony Wall
这就是了。兼容性测试的圣杯,没错。 - happy

18

请尝试使用http://finalbuilds.edskes.net/iecollection.htm

Utilu IE Collection包含多个IE版本,它们是独立的,因此可以同时使用。

条件注释与原生版本完全相同。在用户代理字符串中正确显示原始版本号。版本号也可以在窗口标题中找到。

Utilu IE Collection还包括Internet Explorer开发者工具栏1.00.2189.0。该浏览器栏提供了各种工具,使网站故障排除更加容易。 Internet Explorer Developer Toolbar与使用Windows 2000或更高版本的Internet Explorer 5.0及更高版本兼容。

Utilu IE Collection有安装Firebug Web Development Extension for Internet Explorer的选项。 Firebug提供了许多有用的工具,使Web开发更加容易...


1
那看起来非常不错。有人对此有任何反馈吗? - Clement Herreman
2
我在需要测试旧版IE(IE6+)的“本机”模式而非IE8兼容模式时使用它,但在Windows 7下它存在缺陷。当我在Win7电脑上工作时,我会使用VirtualBox虚拟机,并在其中安装带有IE集合的Windows XP系统。 - Fabien Ménager
3
对于Windows XP来说,这是最好的答案!我已经使用它很长时间了,非常好用。 - Michael Koper
我至少可以在拥有IE8的情况下启动“真正的”IE7(WinXP)。 然而,我只能呈现页面。 例如无法打开开发工具…(抛出错误) - jakub.g
是的,在Windows 7下有漏洞。最好在Windows XP SP3虚拟机中运行它。 - Adriano
显示剩余2条评论

17

你不能使用IE8代替IE7。在IE8中的JavaScript引擎与IE7不同。尝试在IE7和IE8中的数组或对象文字中保留尾随逗号 - 你会在前者中得到错误,但即使在兼容模式下,在后者中也不会有错误。如果您希望您的网站在IE7中正常工作,您需要在IE7中进行测试。


谢天谢地,IE9在使用开发者工具切换模式时,能够相当好地重现IE7和8的错误。我很确定我已经通过这种方式在IE9中找到了尾随逗号等问题。 - Simon East

10

我使用http://www.spoon.net/browsers(仅限Windows)。

您可以运行IE8、IE7、IE6、Firefox 3.5、Firefox 3、Firefox 2、Safari 4、Safari 3、Opera 10、Opera 9、Chrome。

您只需安装一个插件,然后点击相应的图标。它将下载并运行运行每个上述浏览器所需的文件。


6
微软要求我们从该服务中移除Internet Explorer。 - Denilson Sá Maia
截至2011-01-24,没有IE支持:“请稍后回来获取如何在Spoon.net上使用Internet Explorer的更多信息!” - Chris
独立文件仍然可用,请参见 快速浏览器测试: Internet Explorer(版本6、7和8)。但这对于Windows 7无效。 - Rob W
3
该服务已恢复运行。;) - Adriano
有一个类似的服务,不需要插件,应该可以在Mac/Linux/Windows上运行:http://crossbrowsertesting.com/ - Denilson Sá Maia

9
如果您的电脑上安装了IE8浏览器,您可以测试您的网站在IE7浏览器中的运行情况。当您进入需要在IE7浏览器中测试的页面时,打开“工具”->“开发人员工具”。在弹出的“开发人员工具”对话框菜单中,点击“浏览器模式:[当前模式]”,然后您可以选择3个选项,即:
1. IE7 2. IE8 3. IE8兼容模式

8
作为其他用户的备份,您需要在Windows计算机上运行虚拟PC实例。如果您尝试多次安装Internet Explorer,将会破坏页面上的条件注释,这将使测试变得困难(例如,在Internet Explorer 5、6和7上,在Windows计算机上,即使在Internet Explorer 5中,IF Internet Explorer语句也将解析为Internet Explorer 7,这意味着会出现更多奇怪的错误)。
更多信息和下载Internet Explorer 6虚拟映像的链接: http://blogs.msdn.com/ie/archive/2007/04/17/ie7-virtual-pc-image-and-ie6-virtual-pc-image-refresh.aspx

如果您已经拥有虚拟PC,这里是镜像文件: http://www.microsoft.com/Downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&displaylang=en


有趣,条件注释被破坏使得使用虚拟机成为另一个理由。 - avernet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接