Firefox 132 für Entwickler

Dieser Artikel liefert Informationen über die Änderungen in Firefox 132, die Entwickler betreffen. Firefox 132 wurde am 29. Oktober 2024 veröffentlicht.

Änderungen für Webentwickler

HTML

Keine bemerkenswerten Änderungen

CSS

Entfernungen

JavaScript

HTTP

Entfernungen

  • HTTP/2 Server Push ist standardmäßig deaktiviert, da die Voreinstellung network.http.http2.allow-push jetzt auf false gesetzt ist. Dieses Feature wird von keinem anderen großen Browser mehr unterstützt, und die Implementierung könnte in einer zukünftigen Version vollständig entfernt werden. (Firefox Fehler 1915848).

Datenschutz

APIs

Medien, WebRTC und Web Audio

  • Die Methoden requestVideoFrameCallback() und cancelVideoFrameCallback() der Schnittstelle HTMLVideoElement werden jetzt unterstützt. Die requestVideoFrameCallback() registriert eine Callback-Funktion, die ausgeführt wird, wenn ein neues Videobild an den Kompositor gesendet wird. Entwickler können diese Funktion verwenden, um Operationen auf jedem Videobild durchzuführen und so effizienteres Malen auf einer Zeichenfläche, Videoanalyse, Synchronisation mit externen Audioquellen usw. zu ermöglichen. Die Methode gibt einen Callback-Handle zurück, der an cancelVideoFrameCallback() übergeben werden kann, um die noch ausstehende Callback-Anforderung zu stornieren. (Firefox Fehler 1919367, Firefox Fehler 1800882).
  • Die Methode MediaStreamTrack.getCapabilities() wird jetzt unterstützt. Diese gibt ein Objekt zurück, das die akzeptierten Werte oder Wertebereiche für jede einschränkbare Eigenschaft des zugehörigen MediaStreamTrack beschreibt (Firefox Fehler 1179084).

WebDriver-Konformität (WebDriver BiDi, Marionette)

WebDriver BiDi

  • Es wurden mehrere Verbesserungen implementiert, um WebDriver BiDi-Befehle zuverlässiger zu machen, wenn sie während der Navigation oder mit neu erstellten Tabs verwendet werden. Früher schlugen Befehle wie browsingContext.setViewport aufgrund eines AbortError oft fehl, sie werden jetzt einige Male erneut versucht, um solche Probleme zu vermeiden. (Firefox Fehler 1854942, Firefox Fehler 1918287, Firefox Fehler 1918672, Firefox Fehler 1921756)
  • Das browsingContext.contextCreated Ereignis wird jetzt korrekt für träge geladene Frames emittiert. Früher wurde das Ereignis nur ausgelöst, wenn das iframe tatsächlich begann, seinen Inhalt zu laden. (Firefox Fehler 1878166)
  • Netzereignisse werden jetzt korrekt für zwischengespeicherte Stylesheet-Anfragen gesendet. (Firefox Fehler 1879438)
  • Die Zeiteinheiten von Netzereignis-Timing wurden zuvor in Mikrosekunden falsch verwendet. Sie werden jetzt korrekt in Millisekunden gesetzt. (Firefox Fehler 1916685)
  • Die requestTime von Netzereignis-Timing sollte jetzt genauer sein und wirklich die Zeit widerspiegeln, zu der die Anfrage tatsächlich begann. (Firefox Fehler 1922390)

Experimentelle Web-Features

Diese Features sind neu in Firefox 132 eingebaut, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie auf der Seite about:config nach der entsprechenden Voreinstellung und setzen Sie sie auf true. Weitere solcher Funktionen finden Sie auf der Seite Experimentelle Funktionen.

  • Cookie Store API: dom.cookieStore.enabled.

    Die Cookie Store API ist eine moderne, Promise-basierte Methode zur Verwaltung von Cookies, die die Ereignisschleife nicht blockiert und nicht auf Document angewiesen ist (sie kann daher für Service Worker verfügbar gemacht werden). Ab Firefox 132 wurde ein Teil der Cookie Store API implementiert. (Firefox Fehler 1800882). Dies umfasst:

  • Die fetch() keepalive Option: dom.fetchKeepalive.enabled.

    Die globale Methode fetch() hat eine keepalive Initialisierungsoption. Wenn keepalive auf true gesetzt ist, wird der Browser die zugehörige Anfrage nicht abbrechen, wenn die Seite, die sie initiiert hat, entladen wird, bevor die Anfrage abgeschlossen ist.

    Dies ermöglicht einer Fetch-Anfrage, als Alternative zu Navigator.sendBeacon() beim Senden von Analysen am Ende einer Sitzung zu fungieren, was einige Vorteile hat (Sie können HTTP-Methoden außer POST verwenden, Anforderungseigenschaften anpassen und auf die Serverantwort über die Fetch Promise Erfüllung zugreifen). Sie ist auch in Service Workern verfügbar. (Firefox Fehler 1906952).

  • CloseWatcher: dom.closewatcher.enabled. Die CloseWatcher Schnittstelle ermöglicht es Entwicklern, Komponenten zu implementieren, die mit gerätenativen Mechanismen geschlossen werden können, genauso wie eingebaute Komponenten. Beispielsweise können Sie auf Android einen Dialog mit der Zurück-Taste schließen: Diese Schnittstelle ermöglicht es Ihnen, auf ähnliche Weise eine benutzerdefinierte Seitenleiste zu schließen. (Firefox Fehler 1888729).

  • Promise.try(): javascript.options.experimental.promise_try. Promise.try() ist eine Komfortmethode, die eine Rückruffunktion jeglicher Art (gibt zurück oder wirft, synchron oder asynchron) nimmt und deren Ergebnis in einem Promise verpackt, sodass Promise-Semantiken (z.B. .then(), .catch()) zur Verarbeitung verwendet werden können (Firefox Fehler 1905364).

  • JSON.parse mit Quelle: javascript.options.experimental.json_parse_with_source. Der Vorschlag zur JSON.parse Quelltextzugriff erweitert das Verhalten von JSON.parse, um Funktionen bereitzustellen, die Probleme im Zusammenhang mit dem Verlust der Präzision bei der Umwandlung von Werten wie großen Gleitkommazahlen und Datumswerten zwischen JavaScript-Werten und JSON-Text zu mildern (Firefox Fehler 1913085, Firefox Fehler 1925334). Insbesondere sind die folgenden Funktionen jetzt verfügbar:

    • Der JSON.parse() reviver Parameter context-Argument: Bietet Zugriff auf den ursprünglichen JSON-Quelltext, der geparst wurde.
    • JSON.isRawJSON(): Testet, ob ein Wert ein von JSON.rawJSON() zurückgegebenes Objekt ist.
    • JSON.rawJSON(): Erstellt ein "raw JSON"-Objekt, das ein Stück JSON-Text enthält, das dann in ein Objekt aufgenommen werden kann, um den angegebenen Wert zu erhalten, wenn dieses Objekt serialisiert wird.

Ältere Versionen