Firefox 132 für Entwickler
Dieser Artikel bietet 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
- Die Eigenschaft
text-emphasis-position
unterstützt nun den Wertauto
, um diese mittext-underline-position
in Einklang zu bringen (Firefox-Bug 1919658). - CSS unterstützt jetzt die Regel für verschachtelte Deklarationen, was bedeutet, dass verschachteltes CSS nun in der richtigen Reihenfolge geparst wird (Firefox-Bug 1918408).
Entfernungen
- Die CSS-Eigenschaft
-moz-user-modify
wurde entfernt. Diese Eigenschaft wurde zugunsten des globalen Attributscontenteditable
veraltet. (Firefox-Bug 1920118).
JavaScript
- Die regulären Ausdrücke
(?ims-ims:...)
ermöglichen es, Änderungen nur in einem bestimmten Teil eines Regex-Musters wirksam werden zu lassen. (Firefox-Bug 1913752 & Firefox-Bug 1899813).
HTTP
- Der Standardwert/Document-Wert des HTTP-Headers
Accept
wurde zutext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
geändert. Dies entfernt Bild-MIME-Typen, die manchmal Kompatibilitätsprobleme verursachten und stimmt mit der Fetch-Spezifikation und Safari überein. (Firefox-Bug 1917177).
Entfernungen
- HTTP/2 Server Push ist standardmäßig deaktiviert, da die Präferenz
network.http.http2.allow-push
nun auffalse
gesetzt ist. Diese Funktion wird von keinem anderen bedeutenden Browser mehr unterstützt und die Implementierung könnte in einer zukünftigen Version vollständig entfernt werden. (Firefox-Bug 1915848).
Privatsphäre
- Alle Drittanbieter-Cookies werden nun im Strengen erweiterten Tracking-Schutz blockiert. (Firefox-Bug 1918037).
APIs
- Die Eigenschaften
drawingBufferColorSpace
undunpackColorSpace
der SchnittstellenWebGLRenderingContext
undWebGL2RenderingContext
werden nun unterstützt. Diese spezifizieren den Farbraum des WebGL-Zeichenpuffers und den Farbraum zur Konvertierung beim Import von Texturen. (Firefox-Bug 1885491, Firefox-Bug 1885446). - Die Eigenschaft
Notification.silent
wird nun unterstützt, die steuert, ob Systembenachrichtigungen lautlos sein sollen. Wennsilent: true
im KonstruktorNotification()
angegeben wird, wird die resultierende Systembenachrichtigung ohne begleitende Sounds oder Vibrationen ausgegeben, unabhängig von den Geräteeinstellungen (Firefox-Bug 1809028). - Das Attribut
fetchpriority
der Elemente<link>
,<script>
, und<img>
, die EigenschaftfetchPriority
der SchnittstellenHTMLLinkElement
,HTMLScriptElement
, undHTMLImageElement
, der Parameteroptions.priority
, der demRequest()
Konstruktor übergeben wird, und die Direktivefetchpriority
im HTTP-HeaderLink
werden nun unterstützt. Diese ermöglichen es Entwicklern, einen Hinweis auf die relative Priorität für das Laden einer bestimmten Ressource im Vergleich zu anderen Ressourcen des gleichen Typs zu geben und können neben anderen Möglichkeiten zur Prioritätsetzung verwendet werden, wie z.B. Preloading. (Firefox-Bug 1854077). - Die Schnittstelle
CSSNestedDeclarations
und die zugehörige EigenschaftCSSNestedDeclarations.style
werden jetzt unterstützt (Firefox-Bug 1918408). - Die Berechtigungen
microphone
undcamera
können nun in der MethodePermissions.query()
verwendet werden, um zu überprüfen, ob der Zugriff auf die entsprechende Hardware gewährt, verweigert oder noch vom Benutzer genehmigt werden muss. (Firefox-Bug 1609427 und Firefox-Bug 1915222).
Medien, WebRTC und Web Audio
- Die Methoden
requestVideoFrameCallback()
undcancelVideoFrameCallback()
der SchnittstelleHTMLVideoElement
werden nun unterstützt. DierequestVideoFrameCallback()
registriert eine Callback-Funktion, die ausgeführt wird, wenn ein neues Videobild an den Compositor gesendet wird. Entwickler können diese Funktion verwenden, um Operationen an jedem Videobild durchzuführen, was eine effizientere Darstellung auf einer Leinwand, Videoanalyse, Synchronisierung mit externen Audioquellen usw. ermöglicht. Die Methode gibt einen Callback-Handle zurück, der ancancelVideoFrameCallback()
übergeben werden kann, um die ausstehende Callback-Anforderung zu stornieren. (Firefox-Bug 1919367, Firefox-Bug 1800882). - Die Methode
MediaStreamTrack.getCapabilities()
wird jetzt unterstützt. Diese gibt ein Objekt zurück, das die akzeptierten Werte oder den Wertebereich für jede einschränkbare Eigenschaft der zugehörigenMediaStreamTrack
beschreibt (Firefox-Bug 1179084).
WebDriver-Konformität (WebDriver BiDi, Marionette)
WebDriver BiDi
- Mehrere Verbesserungen umgesetzt, um WebDriver BiDi-Befehle zuverlässiger zu machen, wenn sie während der Navigation oder mit neu erstellten Tabs verwendet werden. Zuvor schlug derartige Befehle wie
browsingContext.setViewport
häufig wegen einesAbortError
fehl, jetzt werden sie ein paar Mal wiederholt, um solche Probleme zu vermeiden. (Firefox-Bug 1854942, Firefox-Bug 1918287, Firefox-Bug 1918672, Firefox-Bug 1921756) - Das Ereignis
browsingContext.contextCreated
wird nun korrekt für Lazy-Loaded-Frames ausgelöst. Zuvor wurde das Ereignis nur ausgelöst, wenn das iframe tatsächlich mit dem Laden seines Inhalts begann. (Firefox-Bug 1878166) - Netzwerkereignisse werden nun korrekt für zwischengespeicherte Anfragen von Stylesheets ausgegeben. (Firefox-Bug 1879438)
- Netzwerkereigniszeiten verwendeten zuvor die falsche Einheit und wurden in Mikrosekunden bereitgestellt. Sie sind jetzt korrekt in Millisekunden angegeben. (Firefox-Bug 1916685)
- Die
requestTime
aus den Netzwerkereigniszeiten sollte jetzt genauer sein und wirklich mit der Zeit übereinstimmen, zu der die Anfrage tatsächlich begann. (Firefox-Bug 1922390)
Experimentelle Web-Features
Diese Funktionen sind neu in Firefox 132, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie die entsprechende Präferenz auf der Seite about:config
und setzen Sie sie auf true
. Weitere solcher Funktionen finden Sie auf der Seite Experimentelle Features.
-
Cookie Store API:
dom.cookieStore.enabled
.Die Cookie Store API ist eine moderne,
Promise
-basierte Methode zum Verwalten von Cookies, die den Event-Loop nicht blockiert und nicht aufDocument
angewiesen ist (sie kann daher für Service Worker verfügbar gemacht werden). Mit Firefox 132 wurde ein Teil der Cookie Store API implementiert. (Firefox-Bug 1800882). Dies beinhaltet:- Die Schnittstelle
CookieStore
, wobeipartitioned
nicht in den Rückgabewerten enthalten ist. - Die Schnittstelle
CookieChangeEvent
, ausgenommenpartitioned
-Eigenschaften. - Die Eigenschaft
Window.cookieStore
. - Die Eigenschaft
ServiceWorkerGlobalScope.cookieStore
.
- Die Schnittstelle
-
Die
fetch()
keepalive
Option:dom.fetchKeepalive.enabled
.Die globale Methode
fetch()
hat eine Initialisierungsoptionkeepalive
. Wennkeepalive
auftrue
gesetzt ist, wird der zugehörige Request nicht abgebrochen, wenn die Seite, die ihn initiiert hat, entladen wird, bevor der Request abgeschlossen ist.Dies ermöglicht es, einen Fetch-Request als Alternative zu
Navigator.sendBeacon()
zu verwenden, um Analysedaten am Ende einer Sitzung zu senden, was einige Vorteile hat (Sie können HTTP-Methoden außerPOST
verwenden, Anfrageeigenschaften anpassen und auf die Serverantwort über die Erfüllung des FetchPromise
zugreifen). Es ist auch in Service Worker verfügbar. (Firefox-Bug 1906952). -
CloseWatcher
:dom.closewatcher.enabled
. Die SchnittstelleCloseWatcher
ermöglicht es Entwicklern, Komponenten zu implementieren, die mit gerätenativen Mechanismen geschlossen werden können, ähnlich wie eingebaute Komponenten. Beispielsweise können Sie auf Android einen Dialog mit der Zurück-Taste schließen: Diese Schnittstelle ermöglicht es, ähnlich eine benutzerdefinierte Seitenleiste zu schließen. (Firefox-Bug 1888729). -
Promise.try()
:javascript.options.experimental.promise_try
.Promise.try()
ist eine Komfortmethode, die einen beliebigen Callback entgegennimmt (gibt zurück oder wirft, synchron oder asynchron) und dessen Ergebnis in einemPromise
umwickelt, sodass Promise-Semantiken (z.B..then()
,.catch()
) verwendet werden können, um es zu verarbeiten (Firefox-Bug 1905364). -
JSON.parse
mit Quelle:javascript.options.experimental.json_parse_with_source
. Der Vorschlag zur Zugriffsfunktion für Quelltext inJSON.parse
erweitert das Verhalten vonJSON.parse
, um Funktionen bereitzustellen, die Probleme mit Verlust der Genauigkeit beim Konvertieren von Werten wie großen Fließkommazahlen und Datumswerten zwischen JavaScript-Werten und JSON-Text abmildern sollen (Firefox-Bug 1913085, Firefox-Bug 1925334). Insbesondere sind die folgenden Funktionen jetzt verfügbar:- Der
JSON.parse()
Reviver
-Parametercontext
Argument: Bietet Zugriff auf den Original-JSON-Quelltext, der geparst wurde. JSON.isRawJSON()
: Überprüft, ob ein Wert ein Objekt ist, das vonJSON.rawJSON()
zurückgegeben wurde.JSON.rawJSON()
: Erstellt ein "rohes JSON"-Objekt, das ein Stück JSON-Text enthält, welches dann in einem Objekt enthalten sein kann, um den angegebenen Wert beim Serialisieren des Objekts zu erhalten.
- Der