【问题标题】:How can I fully test my website on previous versions of IE with IE 11?如何使用 IE 11 在以前版本的 IE 上全面测试我的网站?
【发布时间】:2013-11-27 20:05:47
【问题描述】:

使用 IE 10 在旧版本的 IE 上测试我的网站非常简单,并且始终可以正常运行,我只是去了开发人员工具,从菜单中选择了我想要的版本,我没有遇到任何问题。

现在,在升级到 IE 11 后,我在使用这种测试方法时遇到了一些问题。首先,我放入 HTML cmets 中的内容(例如 <!--[if lt IE 10]>)不再显示。其次,我几天前在带有 IE 10 的旧版本 IE 上测试的同一个网站在 IE 11 上进行相同测试时看起来非常不同。

那么,为什么会发生所有这些事情,我该如何解决呢?

【问题讨论】:

  • 即使使用 IE 10 的开发者工具复制其他版本也不是很可靠。没有比实物...或虚拟机更好的替代品了。
  • IETester 是合理的,但仍然可能存在不一致。考虑使用付费服务进行跨浏览器测试。
  • 条件cmets不再被支持,这就是为什么它们里面的内容不再显示了
  • 浏览器工具中的下拉菜单不是真实的。 IETester 也不是。 Modern.IE modern.ie/en-us/virtualization-tools#downloads 有旧版本的虚拟机

标签: html internet-explorer cross-browser internet-explorer-11


【解决方案1】:

Internet Explorer 11 附带了一套相当不错的仿真工具。如果您知道 Internet Explorer 10 中报告了哪些问题,您可以尝试在仿真中复制这些问题。如果您成功了,您很可能可以在仿真过程中继续解决这些问题。

有时您可能会遇到一些无法在仿真中重现的情况,而需要 Internet Explorer 10(或任何其他版本)的本机实例。在这一点上,你真的只有几个选择:

  1. 浏览器中的虚拟机 (http://browserstack.com)
  2. 桌面上的虚拟机 (http://modern.ie)

每个选项都有自己的优点和缺点。浏览器内的虚拟机可以非常快速地启动,并且不需要大量的系统资源即可运行。话虽如此,体验可能会不稳定,不利于解决依赖低延迟的问题。

桌面仿真很棒,因为您有更接近原生的感觉。不幸的是,这意味着您需要下载非常大的文件才能在当前操作系统中运行第二个操作系统。此外,您可能会发现自己在为配置等问题而苦苦挣扎。

我个人会结合使用这两种方法,具体取决于我目前尝试解决的问题。不过,作为一种好的做法,编写清晰有效的标记,以及使用渐进式增强和功能检测等最佳实践来提供备用代码路径,可以降低您必须花费大量时间调试任何东西的机会。

【讨论】:

  • 文档模式和用户代理字符串的区别?
  • 更改文档模式会修改浏览器本身对文档的解释和呈现。更改用户代理字符串会将浏览器本身的身份修改为服务器和客户端脚本。
【解决方案2】:

最新的ie11与之前的ie浏览器版本功能相同。

1 要访问这些模式,请启动 F12 开发者工具,

2 点击底部的仿真图标,然后选择文档模式——它们不再被命名为“浏览器模式”

这篇文章可能会对您有所帮助。 http://www.sitepoint.com/ie11-browser-modes-return/

【讨论】:

  • 好的,谢谢。我编辑了我的答案。我是stackoverflow的新手。我的答案没有图片上传权限。
【解决方案3】:

我有用户抱怨 IE10 中的问题,但无法使用 F12 仿真在 IE11 中重新创建它们。我最终做了什么(在多次尝试卸载 IE11 并安装 IE10 无济于事(在 Windows 10 中)之后)是这样的:

在此处下载 VirtualBox:https://www.virtualbox.org/wiki/Downloads 转至:https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

下载您要测试的虚拟机,然后将其加载到 VirtualBox。他们的网站上有关于设置选项等的说明。大多数情况下,您需要设置内存、虚拟硬盘的位置和大小。我使用了 1024MB 和驱动器的默认值,因为我只在这个 VM 上运行 IE。效果很好。默认情况下,网络将主机置于 10.0.2.2,因此我在 localhost:8080 上运行的 localhost 测试网站位于 VM 上的 http://10.0.2.2:8080//。它运作良好。

希望这可以节省一些时间。

仿真遗漏了两个不同的错误,一个是 Array.filter,另一个是 __definegetter__。

VM 拾取了这些。这是一种比仿真慢的方法。

刚刚看到“在 IE11 上”。对此感到抱歉 - 这仍然是我的建议。而且您不必卸载 IE11。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    相关资源
    最近更新 更多