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 Webentwickler
HTML
-
Das Lazy Loading von
<iframe>
-Elementen wird jetzt unterstützt, was es Entwicklern ermöglicht, darauf hinzuweisen, 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 am<iframe>
-Element oder in JavaScript unter Verwendung vonHTMLIFrameElement.loading
gegeben 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 ausgeglichen und leicht lesbar ist, wenn er über mehrere Zeilen verteilt ist. Der Wertstable
sorgt dafür, dass sich bearbeitbare Inhalte nicht neu anordnen, während der Benutzer diese bearbeitet (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 mit einer Unterliste treffen oderh1:has(+ p)
wird eine Überschrift mit einem direkt folgenden Absatz treffen. - Die CSS-Eigenschaft
text-indent
unterstützt jetzt die Werteeach-line
undhanging
(Firefox Bug 784648), was Entwicklern ermöglicht, bestimmte Text-Einrückungsstile einfacher zu spezifizieren. Zusätzlich 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. Diese stellt dieresolve
- undreject
-Callback-Funktionen im gleichen Gültigkeitsbereich wie das zurückgegebenePromise
bereit und ermöglicht es, dass Code, der das Versprechen auflöst oder ablehnt, nach seiner Konstruktion definiert wird (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 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 es bei einem ISO-DatumYYYY-MM-DD
der Fall wä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, was es ermöglicht, die relative Priorität von ausgehenden bidirektionalen WebTransport API-Streams zu lesen und zu ändern, nachdem der Stream erstellt wurde. Beachten Sie, dass dies nicht verwendet werden kann, um die Priorität von unidirektionalen Streams zu ändern, da Firefox diese alsWritableStream
anstelle vonWebTransportSendStream
implementiert. (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 Tail-Call-Optimierung über neue
return_call
undreturn_call_indirect
Alternativen zurcall
-Instruktion. Dies verbessert Leistung, reduziert den Speicherplatz des Stacks 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 diescript.callFunction
- undscript.evaluate
-Befehle hinzugefügt, die die Auswertung von JavaScript bei gleichzeitiger Emulation der Benutzeraktion ermöglichen. (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 Parameter
viewportOptions
für denbrowsingContext.captureScreenshot
-Befehl wurde inboxOptions
umbenannt (Firefox Bug 1859258). - Der
scrollIntoView
-Parameter für denbrowsingContext.captureScreenshot
-Befehl wurde zugunsten des untenstehendenorigin
-Parameters entfernt (Firefox Bug 1862649). - Unterstützung für den
origin
-Parameter für denbrowsingContext.captureScreenshot
-Befehl hinzugefügt, der es erlaubt, den Ursprung und die Grenzen des Screenshots zu definieren. Die akzeptierten Werte sind"document"
und"viewport"
(Firefox Bug 1840999). - Bei der Serialisierung von
Window
-Objekten enthält der serialisierte Wert jetzt einecontext
-Eigenschaft, die auf die Kontext-ID desWindow
-Objekts gesetzt ist und 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, etc.) verschachtelt ist, 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 die Serialisierung und Deserialisierung von
Window
- undFrame
-Objekten hinzugefügt (Firefox Bug 1274251).
Experimentelle Web-Features
Diese Funktionen sind neu in Firefox 121 verfügbar, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, 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 Features.
- Pseudoklassen für den Zustand von benutzerdefinierten Elementen:
dom.element.customstateset.enabled
-
Benutzerdefinierte Elemente können ihren internen Zustand über die
states
-Eigenschaft alsCustomStateSet
verbergen. Eine CSS-Pseudoklasse für benutzerdefinierte Zustände wie:--some-state
kann den Zustand dieses Elements treffen. (Firefox Bug 1861466) showPicker()
-Methode für HTML-Auswahlelemente:dom.select.showPicker.enabled
-
Die Methode
HTMLSelectElement.showPicker()
startet programmatisch den Browser-Picker 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
-background
-Schlüsselservice_worker
- undscripts
-Deklarationen enthält (Firefox Bug 1860304).Hinweis: Zufälligerweise sieht eine Änderung in Chrome 121 das
scripts
-Attribut als ignoriert an, wenn es zusammen mit derservice_worker
-Eigenschaft angegeben wird. Zuvor weigerte sich Chrome, Erweiterungen zu laden, die beide Eigenschaften enthalten (Chromium Bug 1418934). Weitere Informationen finden Sie unter Browser-Unterstützung desbackground
manifest keys.
Ältere Versionen
- Firefox 120 for developers
- Firefox 119 for developers
- Firefox 118 for developers
- Firefox 117 for developers
- Firefox 116 for developers
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers
- Firefox 103 for developers
- Firefox 102 for developers
- Firefox 101 for developers
- Firefox 100 for developers
- Firefox 99 for developers
- Firefox 98 for developers
- Firefox 97 for developers
- Firefox 96 for developers
- Firefox 95 for developers
- Firefox 94 for developers
- Firefox 93 for developers
- Firefox 92 for developers
- Firefox 91 for developers
- Firefox 90 for developers