2013-07-30 170 views
1

我不能让我的单元测试在IE8上运行。在IE8上运行Karma测试

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

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

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

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

回答

2

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

jQuery的进来今天两个分支:

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

jQuery 2.0已经到货!

按照承诺,该版本将保留较旧的Internet Explorer 6,7和8浏览器。作为回报,它更小,速度更快,并且可以用于需要兼容旧IE的代码经常会导致其自身问题的JavaScript环境中。

幸运的是,最新的jQuery 2.x的是(至少在目前)与最新的jQuery 1.x的完全互换,所以你据说可以使开关的无缝连接。

而只是它在IE8 attachEvent备案;)

+0

都能跟得上我跑的jQuery 1.9.1 – mfeingold

+1

我的道歉。你是对的 - 我的示例代码是指JQ 1.9.1,但有些业务conf指向2.0。傻我 – mfeingold

相关问题