Firefox 148 Versionshinweise für Entwickler (Stabil)
Dieser Artikel bietet Informationen über die Änderungen in Firefox 148, die Entwickler betreffen. Firefox 148 wurde am 24. Februar 2026 veröffentlicht.
Änderungen für Webentwickler
>HTML
- Das initiale
about:blankDokument wird jetzt synchron geladen. Eine erste Navigation in einem Browsing-Kontext kann zuabout:blankführen (zum Beispiel, wenn die initiale URL leer ist oder explizit aufabout:blankgesetzt wird). In diesen Fällen ersetzt Firefox nicht mehr das initiale leere Dokument mit einem zweiten, asynchron geladenen und löst stattdessen dasloadEreignis synchron auf dem initialen Dokument aus. (Firefox-Bug 543435).
CSS
-
Die
position-areaEigenschaft in CSS-Ankerpositionierung hält das verankerte Element nun korrekt innerhalb des Ansichtsfensters. (Firefox-Bug 2008537). -
Die
position-try-orderEigenschaft in CSS-Ankerpositionierung wird jetzt unterstützt und ermöglicht das Ändern der Reihenfolge, in der Fallback-Optionen für Positionen je nach verfügbarem Platz ausprobiert werden. Dies betrifft auch dieposition-tryKurzform-Eigenschaft. (Firefox-Bug 1989059). -
Die CSS-Eigenschaften
overflow,overflow-xundoverflow-ykönnen jetzt auf ersetzte Elemente wie Bilder angewendet werden, genau wie bei anderen Elementen. Vorher wurden ersetzte Elemente immer auf ihren Begrenzungscontainer beschnitten. (Firefox-Bug 1999100). -
Die CSS
shape()Funktion ist jetzt standardmäßig verfügbar.shape()ist ein<basic-shape>Datentyp, der es ermöglicht, eine Form in denclip-pathundoffset-pathEigenschaften mit einem oder mehreren "Form-Befehlen" zu definieren. Diese Befehle sind den SVG-Pfadbefehlen sehr ähnlich. Dieshape()Funktion ist derpath()Funktion in einigen Aspekten ähnlich, aber im Gegensatz zupath(), das die SVG-Pfad Syntax verwendet, nutztshape()die Standard-CSS-Syntax. Dadurch können CSS-Einheiten und CSS-Mathematikfunktionen verwendet werden, was das Erstellen und Bearbeiten von Formen erleichtert. (Firefox-Bug 1982941).
JavaScript
-
Die statischen Methoden
Iterator.zip()undIterator.zipKeyed()werden jetzt unterstützt. Diese "zippen" mehrere Eingabeiteratoren zusammen und geben einen neuen Iterator zurück, der die Gruppe von Eingabeelementen bei jedem Iterationsschritt liefert. Sie sind nützlich, wenn Sie Daten aus mehreren Eingabeiteratoren kombinieren müssen, die positionsabhängig ausgerichtet sind (der erste Wert, der vom ersten Iterator geliefert wird, entspricht dem ersten Wert, der von den anderen Iteratoren geliefert wird, und so weiter). (Firefox-Bug 2003333). -
Der TC39 Legacy RegExp features in JavaScript Vorschlag wurde implementiert. Dies aktualisiert
RegExp.prototype.compile(), sodass einTypeErrorausgelöst wird, wenn es auf einer Unterklasse vonRegExpaufgerufen wird, oder wenn die Methode auf einemRegExpaufgerufen wird, der in einem anderen Realm definiert ist.RegExp-statische Eigenschaften, wieRegExp.$1–RegExp.$9undRegExp.input(und dessen AliasRegExp.$_), sind konfigurierbar und nicht aufzählbar normalisiert. Das bedeutet insbesondere, dass sie aus demRegExp-Objekt gelöscht werden können. (Firefox-Bug 1306461).
APIs
-
Die HTML Sanitizer API wird jetzt unterstützt, zusammen mit verwandten Methoden wie
setHTML(). Dies ermöglicht es Ihnen, HTML zu bereinigen, bevor es in das DOM eingefügt wird, was Ihnen die volle Kontrolle über den resultierenden Inhalt gibt und das Risiko von XSS-Angriffen reduziert. (Firefox-Bug 1650370). -
Die Trusted Types API wird jetzt unterstützt. Dies bietet Mechanismen, um sicherzustellen, dass Eigenschaften und Funktionen, die potenziell als Vektoren für XSS-Angriffe verwendet werden können, nur mit Daten aufgerufen werden können, die durch eine Transformationsfunktion geleitet wurden. Die Mechanismen erlauben die Überprüfung von unsicheren Codeverwendungen. Sie schreiben nicht vor, wie die Daten transformiert werden, könnten aber beispielsweise verwendet werden, um unsichere HTML-Elemente aus von Benutzern bereitgestellten Zeichenfolgen zu bereinigen. (Firefox-Bug 1994690).
-
Die
Location.ancestorOriginsEigenschaft wird jetzt unterstützt, wodurch Sie feststellen können, ob ein Dokument in einem<iframe>eingebettet wird und, falls ja, von welcher(n) Seite(n). (Firefox-Bug 1085214). -
Die
movementXundmovementYEigenschaften beimpointerrawupdateEreignis werden jetzt befüllt, wenn der Zeiger bewegt wird — vorher wurden diese auf Null gesetzt. (Firefox-Bug 1987671). -
Die
NavigationPrecommitController.addHandler()Methode der Navigation API wird jetzt unterstützt. Dies kann verwendet werden, um einen Post-Commit-Navigationshandler dynamisch innerhalb eines Pre-Commit-Handlers zu registrieren, was nützlich ist, wenn die Aktionen der durchgeführten Navigation von Daten abhängen, die in der Pre-Commit-Phase geholt wurden. (Firefox-Bug 2009004).
DOM
- Der "paste" Befehl kann jetzt mit
Document.execCommand()in Webinhalten (zusätzlich zu Web-Erweiterungen) verwendet werden. Dies wird über die Clipboard API implementiert und teilt die gleichen Sicherheitsüberlegungen, wie temporäre Aktivierung und Nutzerbestätigung beim Einfügen von Inhalten aus fremden Quellen. (Firefox-Bug 1998195).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Ein Race-Condition-Problem bei der Initialisierung erforderlicher Browser-Features beim Öffnen eines neuen Fensters wurde behoben, wodurch Probleme beim sofortigen Navigieren zu einer anderen URL verhindert werden (Firefox-Bug 1891028).
- Ein Interoperabilitätsproblem zwischen Marionette und WebDriver BiDi, bei dem die BiDi
clientWindowID fälschlicherweise als Fenster-Handle in Marionette verwendet wurde, wurde behoben (Firefox-Bug 2002949).
WebDriver BiDi
- Es wurde eine erste Unterstützung für die Interaktion mit dem Chrome-Bereich des Browsers (das Firefox-Fenster selbst) hinzugefügt. Der
browsingContext.getTreeBefehl akzeptiert jetzt den herstellerspezifischenmoz:scopeParameter und gibt Chrome-Kontexte zurück, wenn er aufchromegesetzt ist und Firefox mit dem--remote-allow-system-accessArgument gestartet wurde. Diese Kontexte können mitscript.evaluateundscript.callFunctionverwendet werden, um privilegiertes JavaScript mit Zugriff auf Gecko-APIs auszuführen. Andere Befehle unterstützen derzeit noch keine Chrome-Kontexte, aber die Unterstützung wird bei Bedarf schrittweise hinzugefügt (Firefox-Bug 1944568, Firefox-Bug 1944570 und Firefox-Bug 1851788). - Die Befehle
emulation.setGeolocationOverrideundemulation.setScreenOrientationOverridewurden aktualisiert, um das neue Zurücksetzungsverhalten zu implementieren: Kontexte werden nur zurückgesetzt, wenn dercontextsParameter angegeben wird, und Benutzerkontexte nur, wenn deruserContextsParameter spezifiziert ist (Firefox-Bug 1998732 und Firefox-Bug 1998734). - Ein Race-Condition-Problem in
browsingContext.create, bei dem das Öffnen eines neuen Tabs im Vordergrund vor der Sichtbarkeit des Dokuments zurückkehren konnte, wurde behoben (Firefox-Bug 2003857). - Ein Problem wurde behoben, das auftrat, wenn eine Navigation zu einer Fehlerseite umgeleitet wurde (Firefox-Bug 2013822).
- Ein Problem in
network.getData, das einenRangeErrorverursachte, wenn chunked Response Bodies aufgrund einer Größenabweichung decodiert wurden, wurde behoben (Firefox-Bug 2004973). - Ein Problem, bei dem die Ereignisse
browsingContext.userPromptOpenedundbrowsingContext.userPromptClosedfälschlicherweise die Top-Level-Kontext-ID anstelle der iframe-Kontext-ID meldeten, wurde behoben (Firefox-Bug 1964905). - Die Leistung von WebDriver BiDi Befehlen wurde um etwa 100 ms verbessert, wenn der ausgewählte Kontext während der Befehlsausführung nicht mehr verfügbar ist (Firefox-Bug 1934326).
Marionette
- Der Befehl
Reporting:GenerateTestReportwurde zum Erstellen eines Testberichts über die Reporting API hinzugefügt (Firefox-Bug 1909662).
Experimentelle Web-Features
Diese Features werden in Firefox 148 ausgeliefert, sind jedoch standardmäßig deaktiviert.
Um sie zu testen, suchen Sie auf der about:config Seite nach der entsprechenden Einstellung und setzen Sie sie auf true.
Weitere solcher Features finden Sie auf der Seite für experimentelle Features.
-
Document Picture-in-Picture API (Nightly):
dom.documentpip.enabledDie Document Picture-in-Picture API macht es möglich, ein immer im Vordergrund befindliches Fenster zu öffnen, das mit beliebigen HTML-Inhalten wie einem Video mit benutzerdefinierten Steuerelementen oder einem Satz von Streams, die die Teilnehmer eines Videoanrufs zeigen, gefüllt werden kann. (Firefox-Bug 1858562).