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 ü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 das loading-Attribut des <iframe>-Elements oder in JavaScript mit HTMLIFrameElement.loading bereitgestellt 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 sorgt dafür, dass der Inhalt ausgeglichen und leicht lesbar ist, wenn er über mehrere Zeilen verteilt ist. Der Wert stable sorgt 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. wird li:has(ul) eine Liste markieren, die eine Unterliste enthält, oder h1:has(+ p) wird eine Überschrift mit einem darauf folgenden Absatz markieren.
  • Die CSS-Eigenschaft text-indent unterstützt jetzt die Eigenschaftswerte each-line und hanging (Firefox-Bug 784648), was es Entwicklern einfacher macht, bestimmte Texteinzugsstile festzulegen. Darüber hinaus 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. Dies ermöglicht den Zugriff auf die resolve und reject Rückruffunktionen im gleichen Bereich wie das zurückgegebene Promise, 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-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 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 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

Marionette

  • Unterstützung für die Serialisierung und Deserialisierung von Window- und Frame-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 states Eigenschaft als CustomStateSet offenlegen. Eine CSS-Pseudoklasse für benutzerdefinierte Zustände wie :--some-state kann 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 background Schlüssel service_worker und scripts Deklarationen 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 der service_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 des background-Manifests.