2016-05-25 4 views
-1

Ich habe den folgenden JavaScript-Code, der in der Fehlermeldung "CustomEvent ist kein Konstruktor" resultiert."CustomEvent ist kein Konstruktor" Mozilla Firefox Firebug Fehler messafge

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(); 
    } 
} 

Meine Vermutung ist, dass der Fehler, der von der Darstellung der Seite verhindert (nur auf Firefox und iPad mini Safari) durch die Art und Weise verursacht wird, dass die CustomEvent Funktion deklariert wird. Hat jemand schon einmal auf dieses Problem gestoßen? Könnten Sie mir in die richtige Richtung zeigen, wie Sie dieses Problem beheben können? Ich würde es begrüßen.

Vielen Dank

Antwort

0

Nach dem CanIUse für CustomEvent

1 Während ein window.CustomEvent Objekt vorhanden ist, kann es nicht als Konstruktor aufgerufen werden. Statt neuen CustomEvent (...), müssen Sie e verwenden = document.createEvent ('CustomEvent') und dann e.initCustomEvent (...)

Auch scheint die MDN document for initCustomEvent, dass dies sagen zu gilt für Versionen gleich oder unter Firefox 6.