Firefox 121 Versionshinweise 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
- Lazy Loading von
<iframe>-Elementen wird jetzt unterstützt, sodass Entwickler darauf hinweisen können, dass bestimmte<iframe>-Elemente nur geladen werden sollten, 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 des<iframe>-Elements oder in JavaScript mitHTMLIFrameElement.loadingbereitgestellt werden. (Firefox-Bug 1622090).
CSS
- Die
text-wrap-Eigenschaft wurde mit Unterstützung für die Wertebalanceundstableaktualisiert. Der Wertbalancewird für kurze Inhaltsblöcke wie Überschriften verwendet und sorgt dafür, dass der Inhalt ausgeglichen und leicht lesbar ist, wenn er über mehrere Zeilen verteilt ist. Der Wertstablesorgt dafür, dass editierbarer Inhalt während der Bearbeitung durch den Benutzer nicht umbricht (Firefox-Bug 1731541). - Der
:has()-Selektor, gemeinhin als Elternselektor bezeichnet, wird jetzt unterstützt. Er ermöglicht es Entwicklern, Stile auf ein Element anzuwenden, basierend auf verwandten Elementen, z. B. wirdli:has(ul)eine Liste markieren, die eine Unterliste enthält, oderh1:has(+ p)wird eine Überschrift mit einem darauf folgenden Absatz markieren. - Die CSS-Eigenschaft
text-indentunterstützt jetzt die Eigenschaftswerteeach-lineundhanging(Firefox-Bug 784648), was es Entwicklern einfacher macht, bestimmte Texteinzugsstile 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
Promise.withResolvers()statische Methode wird jetzt unterstützt. Dies ermöglicht den Zugriff auf dieresolveundrejectRückruffunktionen im gleichen Bereich wie das zurückgegebenePromise, wodurch Code, der das Versprechen auflöst oder ablehnt, nach seiner Erstellung 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 bisher abgelehnt wurden, wie:
Wed, 1970-01-01Wed, 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-DDundYYYY-MM-Dwerden nicht mehr als GMT angenommen, wie es bei einem ISO-DatumYYYY-MM-DDder Fall wäre (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, was es ermöglicht, die relative Priorität ausgehender bidirektionaler Streams der WebTransport API nach Erstellung des Streams zu lesen und zu ändern. Beachten Sie, dass dies nicht verwendet werden kann, um die Priorität unidirectional Streams zu ändern, da Firefox sie alsWritableStreamanstelle vonWebTransportSendStreamimplementiert. (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_callundreturn_call_indirectAlternativen zurcallAnweisung. Dies verbessert die Leistung, reduziert die Stapelspeichernutzung und erhöht die Kompatibilität mit Programmiersprachen, die Tail-Calls verwenden. (Firefox-Bug 1846789).
WebDriver-Konformität (WebDriver BiDi, Marionette)
WebDriver BiDi
- Das
browsingContext.contextDestroyedEreignis 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.evaluateBefehle hinzugefügt, die die Bewertung von JavaScript beim Emulieren der Benutzeraktion ermöglichen. (Firefox-Bug 1845488). - Unterstützung für das
defaultValue-Feld für dasbrowsingContext.userPromptOpenedEreignis hinzugefügt, das es Benutzern ermöglicht, den Standardwert von Eingabeaufforderungen abzurufen (Firefox-Bug 1851761). - Der
viewportOptions-Parameter für den BefehlbrowsingContext.captureScreenshotwurde inboxOptionsumbenannt (Firefox-Bug 1859258). - Der
scrollIntoView-Parameter für den BefehlbrowsingContext.captureScreenshotwurde zugunsten des unten stehendenorigin-Parameters entfernt (Firefox-Bug 1862649). - Unterstützung für den
origin-Parameter für den BefehlbrowsingContext.captureScreenshothinzugefü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 für dasWindow-Objekt gesetzt ist, was ebenfalls mit Marionette ausgetauscht werden kann, um bestimmte Fenster und Frames zu referenzieren (Firefox-Bug 1841049). - Ein Fehler wurde behoben, bei dem die Serialisierung eines in einer Datenstruktur (Array, Karte, etc.) verschachtelten Knotens fehlschlug (Firefox-Bug 1861000).
- Ein Fehler wurde behoben, bei dem der Befehl
browsingContext.navigateeine 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 Webfeatures
Diese Funktionen sind neu in Firefox 121, sind aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie die entsprechende Einstellung auf der Seite about:config und setzen Sie sie auf true. Weitere derartige Funktionen finden Sie auf der Seite Experimentelle Features.
- Pseudoklasse für benutzerdefinierten Elementstatus:
dom.element.customstateset.enabled -
Benutzerdefinierte Elemente können ihren internen Zustand über die
statesEigenschaft alsCustomStateSetoffenlegen. Eine CSS-Pseudoklasse für benutzerdefinierte Zustände wie:--some-statekann den Zustand dieses Elements entsprechen. (Firefox-Bug 1861466) showPicker()Methode für HTML-Auswahlelemente:dom.select.showPicker.enabled-
Die
HTMLSelectElement.showPicker()Methode startet programmatisch den Browser-Auswahldialog 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
backgroundSchlüsselservice_workerundscriptsDeklarationen enthält (Firefox-Bug 1860304).Hinweis: Zufälligerweise sieht man in Chrome 121 eine Änderung, bei der die
scripts-Eigenschaft ignoriert wird, wenn sie zusammen mit derservice_worker-Eigenschaft angegeben wird. Zuvor verweigerte Chrome das Laden von Erweiterungen, die beide Eigenschaften enthalten (Chromium-Bug 1418934). Weitere Informationen finden Sie unter Browser-Unterstützung desbackground-Manifests.