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

  • Unterstützt wird jetzt das Lazy Loading von <iframe>-Elementen, wodurch Entwickler andeuten 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 das loading-Attribut auf dem <iframe>-Element oder in JavaScript mit HTMLIFrameElement.loading gegeben werden. (Firefox Bug 1622090).

CSS

  • Die text-wrap-Eigenschaft wurde mit Unterstützung für die Werte balance und stable aktualisiert. Der Wert balance 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 Wert stable stellt sicher, dass bearbeitbare Inhalte beim Bearbeiten nicht umbrochen werden (Firefox Bug 1731541).
  • Der :has()-Selektor, oft 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) passt auf eine Liste, die eine Unterliste enthält, oder h1:has(+ p) passt auf eine Überschrift mit einem direkt darauf folgenden Absatz.
  • Die text-indent-CSS-Eigenschaft unterstützt jetzt die Werte each-line und hanging (Firefox Bug 784648), wodurch Entwickler bestimmte Texteinzugsstile leichter festlegen können. Darüber hinaus können Entwickler jetzt mehrere Werte für text-indent kombinieren, um mehr Kreativität zu ermöglichen, z.B. text-indent: 3em hanging each-line.

JavaScript

  • Die statische Methode Promise.withResolvers() wird jetzt unterstützt. Sie bietet Zugriff auf die resolve und reject Rückruffunktionen im selben Geltungsbereich wie das zurückgegebene Promise, sodass der Code, der das Promise auflöst oder ablehnt, nach dessen Konstruktion definiert werden kann (Firefox Bug 1845586).

  • Date.parse() akzeptiert nun 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-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 und YYYY-MM-D werden nicht mehr als GMT angenommen, wie es bei einem ISO-Datum YYYY-MM-DD der 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 der WebTransportSendStream-Schnittstelle wird jetzt unterstützt, wodurch die relative Priorität von ausgehenden WebTransport API bidirektionalen Streams nach der Erstellung des Streams gelesen und geändert werden kann. Beachten Sie, dass dies nicht verwendet werden kann, um die Priorität von unidirektionalen Streams zu ändern, da Firefox diese als WritableStream anstelle von WebTransportSendStream implementiert. (Weitere Informationen finden Sie unter Firefox Bug 1853444.)

DOM

WebAssembly

  • WebAssembly unterstützt jetzt Tail Call Optimierung über neue return_call und return_call_indirect Alternativen zur call-Anweisung. Dies verbessert die Leistung, reduziert den Stapelspeicherplatz und verbessert die Kompatibilität mit Programmiersprachen, die Tail Calls verwenden. (Firefox Bug 1858855).

WebDriver Konformität (WebDriver BiDi, Marionette)

WebDriver BiDi

Marionette

  • Unterstützung für die Serialisierung und Deserialisierung von Window und Frame Objekten wurde hinzugefügt (Firefox Bug 1274251).

Experimentelle Web-Funktionen

Diese Funktionen sind neu in Firefox 121 verfügbar, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, 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 Funktionen.

Pseudo-Klasse für den benutzerdefinierten Elementstatus: dom.element.customstateset.enabled

Benutzerdefinierte Elemente können ihren internen Status über die states-Eigenschaft als CustomStateSet offenlegen. Eine CSS-Pseudo-Klasse für benutzerdefinierte Zustände wie :--some-state kann den Status dieses Elements anpassen. (Firefox Bug 1861466)

showPicker()-Methode für HTML-Select-Elemente: dom.select.showPicker.enabled

Die Methode HTMLSelectElement.showPicker() startet programmgesteuert den Browser-Auswahldialog für ein <select>-Element, das durch Benutzerinteraktion ausgelöst wird. (Firefox Bug 1854112)

Änderungen für Add-on-Entwickler

  • Ein Fehler wurde behoben, bei dem Hintergrundseiten nicht gestartet wurden, wenn ein background-Schlüssel in der manifest.json sowohl service_worker als auch scripts-Deklarationen enthielt (Firefox Bug 1860304).

    Hinweis: Zufälligerweise wurde in Chrome 121 die scripts-Eigenschaft ignoriert, wenn sie zusammen mit der service_worker-Eigenschaft angegeben wird. Früher lud Chrome Erweiterungen nicht, die beide Eigenschaften enthielten (Chromium Bug 1418934). Weitere Informationen finden Sie unter Browser-Support für den background-Manifest-Schlüssel.

Ältere Versionen