11

这不是复制JS 库来模拟 Internet Explorer 吗?关于模拟 Internet Explorer 的 CSS 支持的问题;这是关于 JavaScript 函数的。

是否存在可以模拟 Internet Explorer 等环境的 JavaScript 库,而涉及 JavaScript 函数?

基本上,它将删除/覆盖旧版本 IE 不支持的函数(如 indexOf 等),或者至少强制以某种方式忽略对它们的任何调用。

实际上,我正在寻找的是与Underscore.js几乎相反的东西,理论上它甚至可以用来测试(在非 IE 浏览器中)Underscore.js 正在做它应该做的事情。

还是模拟环境所需的工作量如此之小,以至于我可以自己快速完成?如果是这样,怎么做?


我想象的用例:

使用此脚本在Phantom.js的 WebKit 浏览器中模拟 IE7 环境,以使用 Jasmine / QUnit / 等进行自动化(由 Jenkins)JavaScript 单元测试(未定)。

4

2 回答 2

7

我建议不要这样做,因为您将测试您对这个模拟的支持程度,而不是 IE7 本身。IE7 引擎大部分都符合标准,除了一些怪癖(如对悬空逗号的不良反应),当然还有最新标准中缺少的环境。大多数这些怪癖要么与其他浏览器一致,要么如果没有在 JS 中编写完整的 JS 引擎就无法轻松模拟。您可能需要查阅 ES wiki 上的列表以获取更多详细信息(并注意“FF/Opera/Safari:相同”部分,您可能不想考虑 IE 与 ES 的差异)。

您最好的选择是使用真正的 IE7,顺便说一句,它具有非常好的自动化界面,几乎可以进行任何测试,或者至少是打开了兼容模式的更新 IE 版本。

于 2012-07-10T10:10:54.610 回答
4

你可能会喜欢这样的东西:http: //triflejs.org/(目前处于测试阶段)

它是用于运行 Headless UI 测试的phantomjs的 IE 端口。

与 phantom 一样,它使用 V8 来运行 javascript API 可执行脚本,而不是 webkit,它使用 .NET WebBrowser类来实例化一个简单的 IE 引擎。

IE 为运行早期版本提供了一个仿真环境,因此如果您安装了 IE9,它将以 IE7、IE8 和 IE9 运行。

在此处输入图像描述

于 2013-10-24T11:34:11.657 回答