Kompatibilität der Website für Firefox 3
Diese Seite versucht, einen Überblick über die Änderungen zwischen Gecko 1.8 und Gecko 1.9 zu geben, die möglicherweise Websites in ihrem Verhalten oder ihrer Darstellung beeinflussen könnten.
Siehe auch Firefox 3 für Entwickler.
Ereignisse
Erfassen von Load-Event-Listenern
In Gecko 1.8 war es nicht möglich, Load-Event-Listener beim Erfassen auf Bilder zu setzen. In Gecko 1.9 wurde dies durch Firefox-Bug 234455 behoben. Dies kann jedoch Probleme auf Websites verursachen, die ihre Event Listener fälschlicherweise so eingestellt haben, dass sie das Load-Event erfassen. Siehe die Diskussion im WebKit-Bug 335251. Um dieses Problem zu beheben, sollte die betroffene Seite ihren Load-Event-Listener nicht im Erfassungsmodus setzen.
Zum Beispiel sollte dies:
window.addEventListener("load", yourFunction, true);
in dies geändert werden:
window.addEventListener("load", yourFunction, false);
Für eine Erklärung, wie Eventerfassung funktioniert, siehe addEventListener
.
preventBubble
wurde entfernt
In Gecko 1.8 existierte die Methode preventBubble
bei Ereignissen, um zu verhindern, dass Ereignisse nach oben blubbern. In Gecko 1.9 wurde diese Methode entfernt. Stattdessen sollten Sie den Standard stopPropagation() verwenden, der auch in Gecko 1.8 gut funktioniert. Der Patch im Firefox-Bug 330494 hat dies bewirkt. Siehe auch WebKit-Bug 105280.
Einige andere alte Event-APIs werden nicht mehr unterstützt
window.captureEvents
, window.releaseEvents
, und window.routeEvent
gelten seit Gecko 1.9 als veraltet.
DOM
WRONG_DOCUMENT_ERR
Knoten aus externen Dokumenten sollten mit document.importNode()
geklont (oder mit document.adoptNode()
übernommen) werden, bevor sie in das aktuelle Dokument eingefügt werden. Für mehr Informationen zu den Node.ownerDocument
Problemen, siehe die W3C-DOM-FAQ.
Firefox erzwingt derzeit diese Regel nicht (es tat dies für eine Weile während der Entwicklung von Firefox 3, aber zu viele Seiten brechen, wenn diese Regel erzwungen wird). Wir ermutigen Webentwickler, ihren Code zu korrigieren, um diese Regel für eine verbesserte zukünftige Kompatibilität zu befolgen.
Bereiche
intersectsNode
wurde entfernt
In Gecko 1.8 konnte die Funktion intersectsNode
verwendet werden, um zu testen, ob ein Knoten einen Bereich schneidet. Die Rückgabewerte dieser Funktion waren jedoch verwirrend und selten nützlich, weshalb sie in Gecko 1.9 entfernt wurde. Stattdessen verwenden Sie die genauere und standardmäßige Funktion compareBoundaryPoints. Der Patch im Firefox-Bug 358073 hat diese Funktion entfernt.
Siehe die Dokumentation für intersectsNode für die Verwendung von compareBoundaryPoints
.
compareNode
wurde entfernt
In Gecko 1.8 konnte die Funktion compareNode
verwendet werden, um zu testen, wie ein Knoten einen Bereich schneidet. Die Rückgabewerte dieser Funktion waren jedoch verwirrend und selten nützlich, weshalb sie in Gecko 1.9 entfernt wurde. Stattdessen verwenden Sie die genauere und standardmäßige Funktion compareBoundaryPoints. Der Patch im Firefox-Bug 358073 hat diese Funktion entfernt.
Siehe die Dokumentation für compareNode für die Verwendung von compareBoundaryPoints
.
HTML
Viele Fehler im <object>
wurden behoben
object
- und embed
-Elemente benötigen keinen type
-Attribut mehr, um dargestellt zu werden. Das Ändern des src
-Attributs (von <embed>
) oder des data
-Attributs (von <object>
) über JavaScript funktioniert jetzt korrekt. Der vom Server gesendete Content-Type-Header (falls vorhanden) hat nun Vorrang vor dem type
-Attribut eines <object>
-Elements gemäß der HTML-Spezifikation (dies ist nicht der Fall für embed
).