Firefox 148 Versionshinweise für Entwickler
Dieser Artikel bietet Informationen zu den Ä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 nun synchron geladen. Die erste Navigation eines Browsing-Kontextes kann zuabout:blankauflösen (zum Beispiel, wenn die initiale URL leer ist oder explizit aufabout:blankgesetzt wurde). In diesen Fällen ersetzt Firefox nicht länger das initiale leere Dokument durch ein zweites, asynchron geladenes, sondern löst dasloadEreignis synchron auf dem initialen Dokument aus. (Firefox Bug 543435).
CSS
-
Die
position-areaEigenschaft in CSS Ankerpositionierung hält nun das verankerte Element korrekt innerhalb des Viewports. (Firefox Bug 2008537). -
Die
position-try-orderEigenschaft in CSS Ankerpositionierung wird nun unterstützt und erlaubt die Reihenfolge zu ändern, in der Positions-Fallback-Optionen basierend auf dem verfügbaren Raum ausprobiert werden. Dies betrifft auch die Kurzformposition-try. (Firefox Bug 1989059). -
Die CSS-Eigenschaften
overflow,overflow-xundoverflow-ykönnen nun bei ersetzten Elementen wie Bildern verwendet werden, genauso wie bei anderen Elementen. Bislang wurden ersetzte Elemente immer auf ihren Begrenzungsrahmen beschnitten. (Firefox Bug 1999100). -
Die CSS
shape()Funktion ist nun standardmäßig verfügbar.shape()ist ein<basic-shape>Datentyp, der Ihnen ermöglicht, eine Form in denclip-pathundoffset-pathEigenschaften mit einem oder mehreren "Formbefehlen" zu definieren. Diese Befehle ähneln stark den SVG Pfadbefehlen. Dieshape()Funktion ähnelt in gewisser Hinsicht derpath()Funktion, aber im Gegensatz zupath(), das die SVG Pfad Syntax verwendet, nutztshape()standardmäßige CSS-Syntax. Dies ermöglicht die Verwendung von CSS-Einheiten und CSS-Mathematikfunktionen, was das Erstellen und Bearbeiten von Formen erleichtert. (Firefox Bug 1982941).
JavaScript
-
Die statischen Methoden
Iterator.zip()undIterator.zipKeyed()werden nun unterstützt. Diese "zippen" mehrere Eingabeiterators zusammen und geben einen neuen Iterator zurück, der bei jedem Iterationsschritt die Gruppe der Eingabeelemente liefert. Sie sind nützlich, wenn Sie Daten aus mehreren Eingabeiterators kombinieren müssen, die positionsmäßig übereinstimmen (der erste von dem ersten Iterator gelieferte Wert entspricht dem ersten von den anderen Iteratoren gelieferten Wert usw.). (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 einem Untertyp vonRegExpaufgerufen wird oder wenn die Methode auf eineRegExpangewendet wird, die in einem anderen Bereich definiert wurde.RegExpstatische Eigenschaften, wieRegExp.$1–RegExp.$9undRegExp.input(und sein AliasRegExp.$_), sind normiert, um konfigurierbar und nicht auflistbar zu sein. Insbesondere bedeutet dies, dass sie aus demRegExpObjekt 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 Ihnen, HTML zu bereinigen, bevor es in den DOM eingefügt wird, sodass Sie die volle Kontrolle über den resultierenden Inhalt haben und das Risiko von XSS-Angriffen verringern. (Firefox Bug 1650370). -
Die Trusted Types API wird nun unterstützt. Diese stellt Mechanismen bereit, um sicherzustellen, dass Eigenschaften und Funktionen, die potenziell als Vektoren für XSS-Angriffe genutzt werden können, nur mit Daten aufgerufen werden, die durch eine Transformationsfunktion gegangen sind. Die Mechanismen erlauben das Audit von unsicheren Codeeinsätzen. Sie schreiben nicht vor, wie die Daten transformiert werden sollen, könnten jedoch beispielsweise verwendet werden, um unsichere HTML-Elemente aus benutzerdefinierten Zeichenketten zu bereinigen. (Firefox Bug 1994690).
-
Die
Location.ancestorOriginsEigenschaft wird jetzt unterstützt, wodurch Sie feststellen können, ob ein Dokument in einem<iframe>eingebettet ist und, falls ja, von welcher(n) Seite(n). (Firefox Bug 1085214). -
Die
movementXundmovementYEigenschaften impointerrawupdateEreignis werden nun gefüllt, wenn der Zeiger bewegt wird – zuvor wurden diese auf null gesetzt. (Firefox Bug 1987671). -
Die
NavigationPrecommitController.addHandler()Methode der Navigation API wird jetzt unterstützt. Diese kann verwendet werden, um einen Post-Commit-Navigations-Handler dynamisch innerhalb eines Pre-Commit-Handlers zu registrieren, was nützlich ist, wenn die Aktionen der ausgeführten Navigation von Daten abhängen, die in der Pre-Commit-Phase abgerufen wurden. (Firefox Bug 2009004).
DOM
- Der "paste" Befehl kann nun mit
Document.execCommand()in Webinhalten (zusätzlich zu Web-Erweiterungen) verwendet werden. Dies wird unter Verwendung der Clipboard API implementiert und teilt dieselben Sicherheitsüberlegungen, wie das Erfordernis einer vorübergehenden Aktivierung und einer Benutzerbestätigung beim Einfügen von cross-origin Inhalten. (Firefox Bug 1998195).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Ein Race-Condition während der Initialisierung erforderlicher Browser-Features beim Öffnen eines neuen Fensters wurde behoben, um Probleme beim sofortigen Navigieren zu einer anderen URL zu verhindern (Firefox Bug 1891028).
- Ein Interoperabilitätsproblem zwischen Marionette und WebDriver BiDi, bei dem die BiDi
clientWindowID fälschlicherweise als Fensterhandle in Marionette verwendet wurde, wurde behoben (Firefox Bug 2002949).
WebDriver BiDi
- Erste Unterstützung für die Interaktion mit dem Chrome-Bereich des Browsers (das Firefox-Fenster selbst) wurde hinzugefügt. Der
browsingContext.getTreeBefehl akzeptiert nun den lieferantenspezifischenmoz:scopeParameter und kehrt zu Chrome-Kontexten 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 noch keine Chrome-Kontexten, aber die Unterstützung wird nach Bedarf schrittweise hinzugefügt (Firefox Bug 1944568, Firefox Bug 1944570 und Firefox Bug 1851788). - Die
emulation.setGeolocationOverrideundemulation.setScreenOrientationOverrideBefehle wurden aktualisiert, um das neue Reset-Verhalten umzusetzen: Kontexte werden nur zurückgesetzt, wenn dercontextsParameter übergeben wird, und Benutzerkontexte nur, wenn deruserContextsParameter angegeben ist (Firefox Bug 1998732 und Firefox Bug 1998734). - Eine Race-Condition in
browsingContext.create, bei der das Öffnen eines neuen Tabs im Vordergrund vor der Sichtbarkeit des Dokuments erfolgen konnte, wurde behoben (Firefox Bug 2003857). - Ein Problem wurde behoben, das auftrat, wenn eine Navigation auf eine Fehlerseite umleitete (Firefox Bug 2013822).
- Ein Problem in
network.getData, das einenRangeErrorverursachte, wenn chunked Antwortkörper aufgrund einer Größenabweichung dekodiert wurden, wurde behoben (Firefox Bug 2004973). - Ein Problem, bei dem die
browsingContext.userPromptOpenedundbrowsingContext.userPromptClosedEreignisse fälschlicherweise die oberste Kontext-ID anstelle der Kontext-ID des iframes meldeten, wurde behoben (Firefox Bug 1964905). - Die Leistung von WebDriver BiDi Befehlen wurde verbessert um ca. 100 ms, wenn der ausgewählte Kontext während der Befehlsausführung nicht mehr verfügbar war (Firefox Bug 1934326).
Marionette
- Der
Reporting:GenerateTestReportBefehl wurde hinzugefügt, um einen Testbericht über die Reporting API zu generieren (Firefox Bug 1909662).
Experimentelle Web-Funktionen
Diese Funktionen werden in Firefox 148 ausgeliefert, sind jedoch standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie nach der entsprechenden Einstellung auf der about:config Seite und setzen Sie diese auf true. Weitere solcher Funktionen finden Sie auf der Seite für experimentelle Funktionen.
-
Document Picture-in-Picture API (Nightly):
dom.documentpip.enabledDie Document Picture-in-Picture API ermöglicht es, ein immer im Vordergrund befindliches Fenster zu öffnen, das mit beliebigem HTML-Inhalt gefüllt werden kann, wie zum Beispiel ein Video mit benutzerdefinierten Steuerelementen oder eine Sammlung von Streams, die die Teilnehmer eines Videokonferenzgesprächs zeigen. (Firefox Bug 1858562).
-
Benutzerdefinierte Media Queries:
layout.css.custom-media.enabledDie
@custom-mediaCSS at-rule definiert Aliase für lange oder komplexe Media Queries. Anstatt dieselbe festcodierte<media-query-list>in mehreren@mediaAt-Rules zu wiederholen, kann sie einmal in einer@custom-mediaAt-Rule definiert und überall im Stylesheet benötigt referenziert werden. (Firefox Bug 2004653).