Ich entwickle eine Firefox-Erweiterung und habe den folgenden Code:
%Vor%Ich verwende .onload anstelle von DOMContentLoaded oder readystatechange, da ich warten muss, bis alle anderen Javascripts auf einer Seite geladen sind, bevor ich meins starte.
Irgendwelche Ideen, warum mehrere Ereignisse ausgelöst werden (und für Dinge, für die das Ereignis nicht ausgelöst werden sollte)?
LÖSUNG
Nach dem Vorschlag von MatrixFrog, hier ist die Lösung, zu der ich kam:
%Vor%Von Ссылка
Aktuelle Firefox-Trunk-Nightlies feuern die onPageLoad-Funktion nicht nur für Dokumente, sondern für
sicherxul:image
s (Favicons im Tabbrowser). Wenn Sie nur mit Dokumenten arbeiten möchten, stellen SieaEvent.originalTarget.nodeName == "#document"
Wenn Sie immer noch feststellen, dass irrelevante "load" -Ereignisse ausgelöst werden, sollten Sie das Ereignisziel untersuchen, um herauszufinden, was geladen wird, und ähnliche Logik verwenden, um den Aufruf der Logik Ihrer Erweiterung in bestimmten Fällen zu vermeiden.
Tags und Links javascript firefox-addon javascript-events onload