Firefox 121 für Entwickler

Dieser Artikel bietet Informationen zu den Ä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 und ermöglicht es Entwicklern, Hinweise zu geben, dass bestimmte <iframe>-Elemente nur geladen werden sollten, wenn sie sichtbar werden. Dies kann die anfängliche Ladezeit beschleunigen, indem die benötigten Ressourcen beim Seitenladen reduziert werden (einige <iframe>-Elemente müssen möglicherweise überhaupt nicht geladen werden). Der Hinweis kann über das loading Attribut im <iframe> Element oder in JavaScript mittels HTMLIFrameElement.loading bereitgestellt werden. (Firefox-Bug 1622090).

CSS

  • Die text-wrap Eigenschaft wurde aktualisiert und unterstützt nun die Werte balance und stable. Der balance Wert wird für kurze Inhaltsblöcke, wie Überschriften, verwendet und stellt sicher, dass der Inhalt ausgewogen und leicht lesbar ist, wenn er auf mehrere Zeilen verteilt wird. Der stable Wert stellt sicher, dass bearbeitbarer Inhalt während der Bearbeitung durch den Benutzer nicht umbrochen wird (Firefox-Bug 1731541).
  • Der :has() Selektor, häufig 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 erfassen, die eine Unterliste enthält, oder h1:has(+ p) wird eine Überschrift erfassen, nach der direkt ein Absatz folgt.
  • Die text-indent CSS-Eigenschaft unterstützt nun die Werte each-line und hanging (Firefox-Bug 784648), was es Entwicklern erleichtert, bestimmte Text-Einrückungsstile zu spezifizieren. Zusätzlich können Entwickler jetzt mehrere text-indent Eigenschaftswerte kombinieren, um kreativer zu sein, z.B. text-indent: 3em hanging each-line.

JavaScript

  • Die Promise.withResolvers() statische Methode wird jetzt unterstützt. Diese stellt die resolve und reject Rückruffunktionen im selben Gültigkeitsbereich wie das zurückgegebene Promise bereit, sodass Code, der das Promise auflöst oder ablehnt, nach seiner Konstruktion definiert werden kann (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-Datenformate (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 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 länger 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

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 Stapelspeicherbedarf und verbessert die Kompatibilität mit Programmiersprachen, die Tail-Calls nutzen. (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 Webfunktionen

Diese Funktionen sind neu in Firefox 121 ausgeliefert, 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 solcher Funktionen finden Sie auf der Seite Experimentelle Funktionen.

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

Benutzerdefinierte Elemente können ihren internen Zustand über die states Eigenschaft als CustomStateSet darstellen. Eine CSS-Benutzerzustand-Pseudo-Klasse wie :--some-state kann den Zustand dieses Elements erfassen. (Firefox-Bug 1861466)

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

Die HTMLSelectElement.showPicker() Methode startet programmgesteuert 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 background Schlüssel in der manifest.json die Deklarationen service_worker und scripts enthält (Firefox-Bug 1860304).

    Hinweis: Nebenbei bemerkt sieht eine Änderung in Chrome 121 vor, dass die scripts Eigenschaft ignoriert wird, wenn sie zusammen mit der service_worker Eigenschaft angegeben wird. Bisher weigerte sich Chrome, Erweiterungen zu laden, die beide Eigenschaften enthalten (Chromium-Bug 1418934). Weitere Informationen finden Sie unter Browserunterstützung des background Manifests.

Ältere Versionen