2013-07-30 101 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

相關問題