“CustomEvent不是构造函数”Mozilla Firefox Firebug错误消息

时间:2016-05-25 08:57:27

标签: javascript firefox

我有以下JavaScript代码,导致“CustomEvent不是构造函数”错误消息。

if (typeof CustomEvent === 'undefined') {
CustomEvent = function(type, eventInitDict) {
            var event = document.createEvent('CustomEvent');
            event.initCustomEvent(type, eventInitDict['bubbles'], eventInitDict['cancelable'], eventInitDict['detail']);
            return event;
        };
    }

window.onload = function (){
    document.dispatchEvent(new CustomEvent("beforeStartPage", {}));
    PreInitialize();
    if(!IsUnderIpad() || IsIOSPopup()){
        startpage();
    }

    if(!IsUnderIpad()){
        testpage();
    }
}

我的猜测是,阻止页面显示的错误(仅限Firefox和iPad mini Safari)是由声明CustomEvent函数的方式引起的。 有没有人遇到过这个问题?你能指出我如何解决这个问题的正确方向吗?我很感激。

非常感谢

1 个答案:

答案 0 :(得分:0)

根据CustomEvent的CanIUse

  

1当window.CustomEvent对象存在时,它不能被称为a   构造函数。您必须使用e =而不是新的CustomEvent(...)   document.createEvent('CustomEvent')然后是e.initCustomEvent(...)

此外,MDN document for initCustomEvent似乎表示这适用于等于或低于Firefox 6的版本。