在IE8上使用Karma运行测试

时间:2013-07-30 20:45:02

标签: jquery internet-explorer-8 karma-runner

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

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

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

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

有什么想法?我没有想法。

1 个答案:

答案 0 :(得分:2)

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

今天jQuery分为两个分支:

  • 1.x - 这是旧的分支,它在IE6的新旧浏览器上运行。
  • 2.x - 这是较新的重写,它更小更快但只能在较新的浏览器上运行,它们支持IE9 +。见this release note
  

jQuery 2.0已经到来了!

     

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

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

只是为了记录IE8中的attachEvent;)