1

我无法让我的单元测试在 IE8 上运行。

我正在测试一个依赖于 JQuery 的角度指令,并且我使用 Karma 作为测试运行器。

测试在 Chrome 上按预期运行,但是当我尝试在 IE8 上运行它们时,出现错误“对象不支持此属性或方法”。我在指定的位置打开了 jQuery,结果发现 IE 不满意的“属性或方法”是addEventListener文档上的方法。它发生在测试运行初始化过程中运行任何测试之前。

AFAIK 在 IE9 之前调用了相应的方法attachEventListener,但我认为 jQuery 会知道这一点。所以我此时唯一的假设是我以某种方式欺骗了 jQuery,使其认为它处理的不是 IE8。

有什么想法吗?我没主意了。

4

1 回答 1

2

您可能正在运行 jQuery 2.x。

jQuery 今天有两个分支:

  • 1.x - 这是在 IE6 以上的新旧浏览器上运行的旧分支。
  • 2.x - 这是较新的重写,更小更快,但只能在较新的浏览器上运行,它们支持 IE9+。请参阅此发行说明

jQuery 2.0 已经到来!

正如所承诺的,这个版本抛弃了旧的 Internet Explorer 6、7 和 8 浏览器。作为回报,它更小、更快,并且可以用于旧版 IE 兼容性所需的代码通常会导致其自身问题的 JavaScript 环境。

幸运的是,最新的 jQuery 2.x(至少目前)可以与最新的 jQuery 1.x 完全互换,因此您可以无缝地进行切换。

只是为了记录它attachEvent在 IE8 中;)

于 2013-07-30T20:51:15.803 回答