【问题标题】:Running tests with Karma on IE8在 IE8 上使用 Karma 运行测试
【发布时间】:2013-07-30 20:45:02
【问题描述】:

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    您可能正在运行 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 ;)

    【讨论】:

    • 不,我运行 jquery 1.9.1
    • 我很抱歉。你是对的 - 我的示例代码是指 JQ 1.9.1,但是 karma conf 指向的是 2.0。傻我
    猜你喜欢
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多