Firefox 121 für Entwickler
Dieser Artikel enthält Informationen über Änderungen in Firefox 121, die Entwickler betreffen. Firefox 121 wurde am 19. Dezember 2023 veröffentlicht.
Änderungen für Webentwickler
HTML
- Lazy Loading von
<iframe>
-Elementen wird jetzt unterstützt, sodass Entwickler angeben können, dass bestimmte<iframe>
-Elemente nur geladen werden sollten, wenn sie sichtbar werden. Dies kann die anfängliche Ladezeit verkürzen, indem der Abruf von Ressourcen beim Seitenaufbau reduziert wird (einige<iframe>
-Elemente müssen möglicherweise überhaupt nicht abgerufen werden). Der Hinweis kann über dasloading
-Attribut im<iframe>
-Element angegeben werden oder in JavaScript mitHTMLIFrameElement.loading
. (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 ist. Der Wertstable
stellt sicher, dass sich editierbarer Inhalt nicht neu anordnet, während der Nutzer ihn bearbeitet (Firefox Bug 1731541). - Der
:has()
-Selektor, allgemein als Elternselektor bezeichnet, wird jetzt unterstützt. Er ermöglicht es Entwicklern, Stile auf ein Element basierend auf verwandten Elementen anzuwenden, z.B.li:has(ul)
passt auf eine Liste, die eine Unterliste enthält, oderh1:has(+ p)
passt auf eine Überschrift mit einem direkt darauf folgenden Absatz. - Die
text-indent
-CSS-Eigenschaft unterstützt jetzt die Werteeach-line
undhanging
(Firefox Bug 784648), wodurch Entwickler bestimmte Text-Einzugstile einfacher spezifizieren können. Zudem können Entwickler nun 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 Methode gibt dieresolve
- undreject
-Callback-Funktionen im gleichen Geltungsbereich wie das zurückgegebenePromise
frei, was es ermöglicht, Code, der das Promise auflöst oder ablehnt, nach dessen Erstellung zu definieren (Firefox Bug 1845586). -
Date.parse()
akzeptiert jetzt mehrere zusätzliche Datumsformate:-
Jahr > 9999 für das Format
YYYY-MMM-DD
(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 abgelehnt wurden, wie:
Wed, 1970-01-01
Wed, 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-DD
undYYYY-MM-D
werden nicht mehr als GMT angenommen wie es ein ISO-DatumYYYY-MM-DD
wäre (Firefox Bug 1783731).- Millisekunden für alle Formate werden nach 3 Ziffern abgeschnitten, statt gerundet (Firefox Bug 746529).
APIs
- Die
sendOrder
-Eigenschaft derWebTransportSendStream
-Schnittstelle wird jetzt unterstützt, was es ermöglicht, die relative Priorität ausgehender WebTransport API bidirektionaler Streams nach der Erstellung des Streams zu lesen und zu ändern. Beachten Sie, dass dies nicht verwendet werden kann, um die Priorität von unidirektionalen Streams zu ändern, da Firefox sie alsWritableStream
statt alsWebTransportSendStream
implementiert. (Weitere Informationen siehe 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 Stapelspeicherplatzverbrauch 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, welches ausgelöst wird, wenn ein Browsing-Kontext verworfen wird (Firefox Bug 1694390). - Unterstützung für den
userActivation
-Parameter in den Befehlenscript.callFunction
undscript.evaluate
hinzugefügt, die es ermöglichen, JavaScript unter Nachahmung einer Benutzeraktion auszuführen (Firefox Bug 1845488). - Unterstützung für das
defaultValue
-Feld imbrowsingContext.userPromptOpened
-Ereignis hinzugefügt, das es Benutzern ermöglicht, den Standardwert von Eingabeaufforderungen abzurufen (Firefox Bug 1851761). - Der
viewportOptions
-Parameter desbrowsingContext.captureScreenshot
-Befehls wurde inboxOptions
umbenannt (Firefox Bug 1859258). - Der
scrollIntoView
-Parameter für denbrowsingContext.captureScreenshot
-Befehl wurde zugunsten des folgendenorigin
-Parameters entfernt (Firefox Bug 1862649). - Unterstützung für den
origin
-Parameter für denbrowsingContext.captureScreenshot
-Befehl hinzugefügt, der es ermöglicht, den Ursprung und die Grenzen des Screenshots zu definieren. 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 desWindow
-Objekts gesetzt ist, welches 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 in einer Datenstruktur (Array, Map etc.) verschachtelten Knotens 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-Features
Diese Funktionen sind neu in Firefox 121 eingeführt, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie die entsprechende Einstellung auf der about:config
-Seite und setzen Sie sie auf true
. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
- Pseudoklasse für den Zustand benutzerdefinierter Elemente:
dom.element.customstateset.enabled
-
Benutzerdefinierte Elemente können ihren internen Zustand über die
states
-Eigenschaft alsCustomStateSet
offenlegen. Eine CSS-Pseudoklasse für den benutzerdefinierten Zustand wie:--some-state
kann auf den Zustand dieses Elements passen. (Firefox Bug 1861466) showPicker()
-Methode für HTML-Select-Elemente:dom.select.showPicker.enabled
-
Die
HTMLSelectElement.showPicker()
-Methode startet programmgesteuert den Browser-Auswahl-Dialog für ein<select>
-Element, ausgelöst durch 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
-Schlüsselbackground
sowohlservice_worker
- als auchscripts
-Deklarationen enthält (Firefox Bug 1860304).Hinweis: Zufällig sieht eine Änderung in Chrome 121 vor, 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 Browser-Support desbackground
-Manifest-Schlüssels.
Ältere Versionen
- Firefox 120 für Entwickler
- Firefox 119 für Entwickler
- Firefox 118 für Entwickler
- Firefox 117 für Entwickler
- Firefox 116 für Entwickler
- Firefox 115 für Entwickler
- Firefox 114 für Entwickler
- Firefox 113 für Entwickler
- Firefox 112 für Entwickler
- Firefox 111 für Entwickler
- Firefox 110 für Entwickler
- Firefox 109 für Entwickler
- Firefox 108 für Entwickler
- Firefox 107 für Entwickler
- Firefox 106 für Entwickler
- Firefox 105 für Entwickler
- Firefox 104 für Entwickler
- Firefox 103 für Entwickler
- Firefox 102 für Entwickler
- Firefox 101 für Entwickler
- Firefox 100 für Entwickler
- Firefox 99 für Entwickler
- Firefox 98 für Entwickler
- Firefox 97 für Entwickler
- Firefox 96 für Entwickler
- Firefox 95 für Entwickler
- Firefox 94 für Entwickler
- Firefox 93 für Entwickler
- Firefox 92 für Entwickler
- Firefox 91 für Entwickler
- Firefox 90 für Entwickler