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 das loading-Attribut am <iframe>-Element oder in JavaScript unter Verwendung von 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 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 oder h1:has(+ p) wird eine Überschrift mit einem direkt folgenden Absatz treffen.
  • Die CSS-Eigenschaft text-indent unterstützt jetzt die Werte each-line und hanging (Firefox Bug 784648), was Entwicklern ermöglicht, bestimmte Text-Einrückungsstile einfacher zu spezifizieren. Zusätzlich können Entwickler jetzt mehrere text-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 die resolve- und reject-Callback-Funktionen im gleichen Gültigkeitsbereich wie das zurückgegebene Promise 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 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 werden für alle Formate nach 3 Ziffern abgeschnitten, anstatt gerundet zu werden (Firefox Bug 746529).

APIs

  • Die sendOrder-Eigenschaft der WebTransportSendStream-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 als WritableStream anstelle von WebTransportSendStream implementiert. (Weitere Informationen finden Sie in Firefox Bug 1853444.)

DOM

WebAssembly

  • WebAssembly unterstützt jetzt Tail-Call-Optimierung über neue return_call und return_call_indirect Alternativen zur call-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

Marionette

  • Unterstützung für die Serialisierung und Deserialisierung von Window- und Frame-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 als CustomStateSet 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üssel service_worker- und scripts-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 der service_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 des background manifest keys.

Ältere Versionen