Wie man ein "Onload" -Ereignis für ein Dokument im IE auslöst
Ich entwickle derzeit Unit-Tests für eine Javascript-Methode, die die Bereitschaft des Dokuments erkennt. Dieser Code befindet sich bereits auf Framework-Ebene. Vermeiden Sie daher, dass dies bereits in jQuery oder einer anderen Bibliothek implementiert ist.
Ich habe das Änderungsereignis 'readystatechange' mit folgendem Code erfolgreich simuliert:
var event;
event = document.createEventObject();
event.type = 'readystatechange';
document.fireEvent('onreadystatechange',event);
Ich habe das Gleiche für das 'load'-Ereignis versäumt. Der folgende Code führt zu einem ungültigen Argumentfehler in IE7, der durch den Aufruf von fireEvent in der letzten Zeile ausgelöst wird:
event = document.createEventObject();
event.type = 'load';
document.fireEvent('onload',event);
Hat jemand dies getan oder hat dies zuvor versäumt? Ich bin auch an einem Vorschlag interessiert, das Ereignis auf eine andere Weise auszulösen.
Bearbeiten: Auf Vorschlag von Crescent Fresh habe ich meinen Code folgendermaßen geändert:
event = document.createEventObject();
event.type = 'load';
document.body.fireEvent('onload',event);
Es liegt kein Fehler mehr vor, aber der Listener für 'onload' wird nicht ausgelöst. So habe ich es konfiguriert:
document.attachEvent('onload',listener);