Firefox 121 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 121, die Entwickler betreffen. Firefox 121 wurde am 19. Dezember 2023 veröffentlicht.
Änderungen für Web-Entwickler
>HTML
- Lazy Loading von
<iframe>
-Elementen wird nun unterstützt, was es Entwicklern ermöglicht, darauf hinzuweisen, dass bestimmte<iframe>
-Elemente nur geladen werden sollten, wenn (und falls) sie sichtbar werden. Dies kann die anfängliche Ladezeit verkürzen, indem die Ressourcen reduziert werden, die beim Laden der Seite abgerufen werden müssen (einige<iframe>
-Elemente müssen möglicherweise überhaupt nicht geladen werden). Der Hinweis kann über dasloading
-Attribut am<iframe>
-Element oder in JavaScript mitHTMLIFrameElement.loading
bereitgestellt werden. (Firefox Bug 1622090).
CSS
- Die
text-wrap
-Eigenschaft wurde mit Unterstützung für die Wertebalance
undstable
aktualisiert. Der Wertbalance
wird für kurze Inhaltsblöcke wie Überschriften verwendet und stellt sicher, dass der Inhalt ausgewogen und leicht lesbar ist, wenn er über mehrere Zeilen verteilt wird. Der Wertstable
stellt sicher, dass sich bearbeitbare Inhalte beim Editieren durch den Benutzer nicht verschieben (Firefox Bug 1731541). - Der
:has()
-Selektor, allgemein als Parent-Selektor bezeichnet, wird jetzt unterstützt. Er ermöglicht es Entwicklern, Stile auf ein Element basierend auf verwandten Elementen anzuwenden, z.B.li:has(ul)
wird eine Liste markieren, die eine Unterliste enthält, oderh1:has(+ p)
wird eine Überschrift markieren, auf die direkt ein Absatz folgt. - Die
text-indent
-CSS-Eigenschaft unterstützt jetzt die Werteeach-line
undhanging
(Firefox Bug 784648), was es Entwicklern erleichtert, bestimmte Text-Einrückungsstile festzulegen. 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 statische Methode
Promise.withResolvers()
wird jetzt unterstützt. Diese stellt dieresolve
- undreject
-Callback-Funktionen im gleichen Gültigkeitsbereich wie das zurückgegebenePromise
bereit, sodass 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 für das
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 am Anfang von Formaten, die zuvor abgelehnt wurden, wie:
Wed, 1970-01-01
Wed, 1970-Jan-01
Der Wochentag muss nicht korrekt sein oder überhaupt ein Wochentag sein; zum Beispiel funktioniert
foo 1970-01-01
(Firefox Bug 1617562).
-
-
Weitere
Date.parse()
-Korrekturen:YYYY-M-DD
undYYYY-MM-D
werden nicht mehr als GMT angenommen wie ein ISO-DatumYYYY-MM-DD
(Firefox Bug 1783731).- Millisekunden für alle Formate werden 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 nach dem Erstellen des Streams gelesen und geändert werden kann. Beachten Sie, dass dies nicht verwendet werden kann, um die Priorität unidirektionaler Streams zu ändern, da Firefox sie alsWritableStream
anstelle vonWebTransportSendStream
implementiert. (Weitere Informationen finden Sie unter 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 Tail-Call-Optimierung über neue
return_call
undreturn_call_indirect
Alternativen zurcall
-Anweisung. Dies verbessert die Leistung, reduziert den Stapelspeicherplatz und erhöht 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 die Befehlescript.callFunction
undscript.evaluate
wurde hinzugefügt, was die Ausführung von JavaScript bei Emulation der Benutzerinteraktion erlaubt (Firefox Bug 1845488). - Unterstützung für das
defaultValue
-Feld für dasbrowsingContext.userPromptOpened
-Ereignis wurde hinzugefügt, was Benutzern ermöglicht, den Standardwert von Eingabeaufforderungen abzurufen (Firefox Bug 1851761). - Der Parameter
viewportOptions
für den BefehlbrowsingContext.captureScreenshot
wurde inboxOptions
umbenannt (Firefox Bug 1859258). - Der Parameter
scrollIntoView
für den BefehlbrowsingContext.captureScreenshot
wurde entfernt zugunsten des unten stehendenorigin
-Parameters (Firefox Bug 1862649). - Unterstützung für den
origin
-Parameter für den BefehlbrowsingContext.captureScreenshot
wurde hinzugefügt, welcher die Definition des Ursprungs und der Begrenzungen des Screenshots erlaubt. Die akzeptierten Werte sind"document"
und"viewport"
(Firefox Bug 1840999). - Beim Serialisieren von
Window
-Objekten enthält der serialisierte Wert jetzt einecontext
-Eigenschaft, die auf die Kontext-ID für dasWindow
-Objekt gesetzt ist, welche auch mit Marionette ausgetauscht werden kann, um spezifische Fenster und Frames zu referenzieren (Firefox Bug 1841049). - Ein Fehler wurde behoben, bei dem die Serialisierung eines Knotens, der in einer Datenstruktur (Array, Map usw.) verschachtelt ist, fehlschlug (Firefox Bug 1861000).
- Ein Fehler wurde behoben, bei dem der Befehl
browsingContext.navigate
eine falsche Navigations-ID zurückgeben konnte (Firefox Bug 1861655).
Marionette
- Unterstützung für das Serialisieren und Deserialisieren von
Window
- undFrame
-Objekten wurde hinzugefügt (Firefox Bug 1274251).
Experimentelle Web-Features
Diese Funktionen sind neu in Firefox 121, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie auf der about:config
-Seite nach der entsprechenden Einstellung und setzen Sie sie auf true
. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Features.
- Custom Element State Pseudo-Klasse:
dom.element.customstateset.enabled
-
Benutzerdefinierte Elemente können ihren internen Zustand über die
states
-Eigenschaft alsCustomStateSet
anzeigen. Eine CSS-Custom-Status-Pseudoklasse wie:--some-state
kann dem Zustand des Elements entsprechen. (Firefox Bug 1861466) showPicker()
-Methode für HTML-Auswahlelemente:dom.select.showPicker.enabled
-
Die
HTMLSelectElement.showPicker()
-Methode öffnet programmgesteuert die Browser-Auswahl für ein<select>
-Element, ausgelöst durch Benutzerinteraktion. (Firefox Bug 1854112)
Änderungen für Add-on-Entwickler
-
Ein Fehler wurde behoben, bei dem Hintergrundseiten nicht gestartet wurden, wenn ein manifest.json-
background
-Schlüsselservice_worker
- undscripts
-Deklarationen enthält (Firefox Bug 1860304).Hinweis: Zufälligerweise ignoriert eine Änderung in Chrome 121 die
scripts
-Eigenschaft, wenn sie zusammen mit derservice_worker
-Eigenschaft angegeben ist. Zuvor weigerte sich Chrome, Erweiterungen zu laden, die beide Eigenschaften enthielten (Chromium-Bug 1418934). Weitere Informationen finden Sie unter Browser-Unterstützung desbackground
-Manifest-Schlüssels.