Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Firefox 121 Versionshinweise 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, darauf hinzuweisen, dass bestimmte <iframe>-Elemente nur geladen werden sollten, wenn (und falls) sie sichtbar werden. Dies kann die initiale 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 angegeben 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 bei mehreren Zeilen ausbalanciert und leicht lesbar ist. Der Wert stable sorgt dafür, dass bearbeitbarer Inhalt nicht umbricht, während der Benutzer diesen 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 erkennen oder h1:has(+ p) wird eine Überschrift mit einem direkt dahinterstehenden Absatz erkennen.
  • Die text-indent-CSS-Eigenschaft unterstützt jetzt die each-line und hanging Eigenschaftswerte (Firefox-Bug 784648), was es Entwicklern erleichtert, bestimmte Texteinrückungsstile anzugeben. Außerdem 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 gibt die resolve- und reject-Callback-Funktionen im selben Bereich wie das zurückgegebene Promise-Objekt frei, sodass der Code, der das Promise auflöst oder ablehnt, nach dessen 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 zuvor 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 ein ISO-Datum YYYY-MM-DD wäre (Firefox-Bug 1783731).
    • Millisekunden für alle Formate werden nach 3 Stellen abgeschnitten, anstatt gerundet zu werden (Firefox-Bug 746529).

APIs

DOM

WebAssembly

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

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 eingeführt, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie die entsprechende Voreinstellung auf der about:config-Seite und setzen Sie sie auf true. Weitere solcher Funktionen finden Sie auf der Seite für experimentelle Funktionen.

Pseudo-Klasse für benutzerdefinierte Elementzustände: dom.element.customstateset.enabled

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

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

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

Änderungen für Add-on-Entwickler

  • Es wurde ein Fehler behoben, der dazu führte, dass Hintergrundseiten nicht starteten, wenn ein background-Schlüssel in der manifest.json die Angaben service_worker und scripts enthielt (Firefox-Bug 1860304).

    Hinweis: Übrigens führt eine Änderung in Chrome 121 dazu, dass die scripts-Eigenschaft ignoriert wird, wenn sie zusammen mit der service_worker-Eigenschaft angegeben ist. 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-Schlüssels.