Firefox 121 Versionshinweise für Entwickler
Dieser Artikel liefert Informationen über die Änderungen in Firefox 121, die Entwickler betreffen. Firefox 121 wurde am 19. Dezember 2023 veröffentlicht.
Änderungen für Webentwickler
>HTML
- Das Lazy Loading von
<iframe>-Elementen wird jetzt unterstützt. Dadurch können Entwickler angeben, dass bestimmte<iframe>-Elemente nur geladen werden sollen, wenn (und falls) sie sichtbar werden. Dies kann die anfängliche Ladezeit beschleunigen, indem die Ressourcen reduziert werden, die beim Laden der Seite abgerufen werden müssen (einige<iframe>-Elemente müssen möglicherweise überhaupt nicht abgerufen werden). Der Hinweis kann über dasloading-Attribut im<iframe>-Element oder in JavaScript mitHTMLIFrameElement.loadingbereitgestellt werden. (Firefox Bug 1622090).
CSS
- Die
text-wrap-Eigenschaft wurde mit Unterstützung der Wertebalanceundstableaktualisiert. Derbalance-Wert wird für kurze Inhaltsblöcke wie Überschriften verwendet und stellt sicher, dass der Inhalt ausgewogen und leicht zu lesen ist, wenn er auf mehrere Zeilen verteilt wird. Derstable-Wert sorgt dafür, dass bearbeitbare Inhalte beim Bearbeiten durch den Benutzer nicht umfließen (Firefox Bug 1731541). - Der
:has()-Selektor, allgemein bekannt als Parent-Selektor, wird jetzt unterstützt. Er ermöglicht es Entwicklern, Styles auf ein Element basierend auf verwandten Elementen anzuwenden, z.B.li:has(ul)wird eine Liste mit einer Unterliste abgleichen, oderh1:has(+ p)wird eine Überschrift mit einem direkt darauf folgenden Absatz abgleichen. - Die
text-indent-CSS-Eigenschaft unterstützt jetzt die Werteeach-lineundhanging(Firefox Bug 784648), was es Entwicklern erleichtert, bestimmte Text-Einrückungsstile anzugeben. Darüber hinaus können Entwickler jetzt mehreretext-indent-Eigenschaftswerte für mehr Kreativität kombinieren, z.B.text-indent: 3em hanging each-line.
JavaScript
-
Die
Promise.withResolvers()-statische Methode wird jetzt unterstützt. Sie bietet Zugriff auf dieresolve- undreject-Callback-Funktionen im selben Bereich wie das zurückgegebenePromise, sodass der Code, der das Versprechen erfüllt oder ablehnt, nach seiner Konstruktion definiert werden kann (Firefox Bug 1845586). -
Date.parse()akzeptiert jetzt mehrere zusätzliche Datumsformate:-
Jahr > 9999 im
YYYY-MMM-DD-Format (z.B.19999-Jan-01) (Firefox Bug 1858851) -
MMM-DD-YYYY(z.B.Jan-01-1970) (Firefox Bug 1863489) -
Millisekunden für nicht-ISO-Datumsformate (z.B.
Jan 1 1970 10:00:00.050) (Firefox Bug 1863125) -
Wochentag zu Beginn von Formaten, die zuvor abgelehnt wurden, wie z.B.:
Wed, 1970-01-01Wed, 1970-Jan-01
Der Wochentag muss nicht korrekt sein oder überhaupt ein Wochentag; zum Beispiel funktioniert
foo 1970-01-01(Firefox Bug 1617562).
-
-
Weitere
Date.parse()-Korrekturen:YYYY-M-DDundYYYY-MM-Dwerden nicht mehr als GMT angenommen, wie es ein ISO-DatumYYYY-MM-DDwäre (Firefox Bug 1783731).- Millisekunden werden für alle Formate nach 3 Ziffern abgeschnitten, anstatt gerundet zu werden (Firefox Bug 746529).
APIs
- Die
sendOrder-Eigenschaft derWebTransportSendStream-Schnittstelle wird jetzt unterstützt, sodass die relative Priorität ausgehender bidirektionaler Streams der WebTransport API gelesen und nach der Erstellung des Streams geändert werden kann. Beachten Sie, dass dies nicht zur Änderung der Priorität von unidirektionalen Streams verwendet werden kann, da Firefox diese alsWritableStreamanstatt alsWebTransportSendStreamimplementiert. (Weitere Informationen finden Sie in Firefox Bug 1853444.)
DOM
HTMLInputElement.showPicker()funktioniert jetzt für<input type="week">und<input type="month">-Elemente auf Android (Firefox Bug 1853797).
WebAssembly
- WebAssembly unterstützt jetzt die Tail-Call-Optimierung über neue
return_callundreturn_call_indirectAlternativen zurcall-Anweisung. Dies verbessert die Leistung, reduziert den Speicherplatzbedarf des Stacks und verbessert die Kompatibilität mit Programmiersprachen, die Tail-Calls verwenden. (Firefox Bug 1858855).
WebDriver-Konformität (WebDriver BiDi, Marionette)
WebDriver BiDi
- Das
browsingContext.contextDestroyed-Ereignis wurde hinzugefügt, das ausgelöst wird, wenn ein Browsing-Kontext verworfen wird (Firefox Bug 1694390). - Unterstützung für den
userActivation-Parameter für diescript.callFunctionundscript.evaluate-Befehle hinzugefügt, die die Ausführung von JavaScript unter Emulation der Benutzeraktion erlauben. (Firefox Bug 1845488). - Unterstützung für das
defaultValue-Feld für dasbrowsingContext.userPromptOpened-Ereignis hinzugefügt, das es Benutzern ermöglicht, den Standardwert von Eingabeaufforderungen abzurufen (Firefox Bug 1851761). - Der
viewportOptions-Parameter für denbrowsingContext.captureScreenshot-Befehl wurde inboxOptionsumbenannt (Firefox Bug 1859258). - Der
scrollIntoView-Parameter für denbrowsingContext.captureScreenshot-Befehl wurde zugunsten desorigin-Parameters entfernt (Firefox Bug 1862649). - Unterstützung für den
origin-Parameter für denbrowsingContext.captureScreenshot-Befehl hinzugefügt, der die Definition des Ursprungs und der Grenzen des Screenshots ermöglicht. Die akzeptierten Werte sind"document"und"viewport"(Firefox Bug 1840999). - Beim Serialisieren von
Window-Objekten enthält der serialisierte Wert nun einecontext-Eigenschaft, die auf die Kontext-ID für dasWindow-Objekt gesetzt ist, die auch mit Marionette ausgetauscht werden kann, um auf bestimmte Fenster und Frames zu verweisen (Firefox Bug 1841049). - Ein Fehler wurde behoben, bei dem die Serialisierung eines in einer Datenstruktur (Array, Map usw.) verschachtelten Node fehlschlug (Firefox Bug 1861000).
- Ein Fehler wurde behoben, bei dem der
browsingContext.navigate-Befehl eine falsche Navigations-ID zurückgeben konnte (Firefox Bug 1861655).
Marionette
- Unterstützung für das Serialisieren und Deserialisieren von
Window- undFrame-Objekten hinzugefügt (Firefox Bug 1274251).
Experimentelle Web-Funktionen
Diese Funktionen sind neu in Firefox 121, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie nach der entsprechenden Einstellung auf der about:config-Seite und setzen Sie sie auf true. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
- Pseudo-Klasse für benutzerdefinierten Elementzustand:
dom.element.customstateset.enabled -
Benutzerdefinierte Elemente können ihren internen Zustand über die
states-Eigenschaft alsCustomStateSetoffenlegen. Eine CSS-Pseudoklasse für benutzerdefinierte Zustände wie:--some-statekann mit dem Zustand dieses Elements übereinstimmen. (Firefox Bug 1861466) showPicker()-Methode für HTML-Auswahlelemente:dom.select.showPicker.enabled-
Die
HTMLSelectElement.showPicker()-Methode startet programmatisch den Browser-Picker für ein<select>-Element, ausgelöst durch eine Benutzerinteraktion. (Firefox Bug 1854112)
Änderungen für Add-on-Entwickler
-
Ein Fehler wurde behoben, der dazu führte, dass Hintergrundseiten nicht gestartet wurden, wenn ein manifest.json-
background-Schlüsselservice_workerundscripts-Deklarationen enthält (Firefox Bug 1860304).Hinweis: Zufälligerweise führt eine Änderung in Chrome 121 dazu, dass die
scripts-Eigenschaft ignoriert wird, wenn sie mit derservice_worker-Eigenschaft angegeben wird. Zuvor weigerte sich Chrome, Erweiterungen zu laden, die beide Eigenschaften enthalten (Chromium Bug 1418934). Für weitere Informationen siehe Browserunterstützung desbackground-Manifest-Schlüssels.