Firefox 138 Versionshinweise für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 138, die Entwickler betreffen. Firefox 138 wurde am 29. April 2025 veröffentlicht.
Änderungen für Web-Entwickler
>HTML
- Der
importmapWert destypeAttributs des<script>Elements unterstützt jetzt denintegritySchlüssel. Dies ermöglicht es, die in den Import Maps referenzierten ES-Modul-URLs mit ihren Integritätsmetadaten abzugleichen. Infolgedessen sind diese Module jetzt kompatibel mit CSP Richtlinien, die Subresource Integrity (SRI) erfordern. (Firefox Bug 1945540).
CSS
Keine bemerkenswerten Änderungen
JavaScript
- Die
Error.captureStackTrace()statische Methode wird jetzt unterstützt. Diese installiert Stack-Trace-Informationen auf einem bereitgestellten Objekt als dieError.stackEigenschaft. Der Hauptanwendungsfall besteht darin, einen Stack-Trace auf ein benutzerdefiniertes Fehlerobjekt zu installieren, das nicht von derErrorSchnittstelle abgeleitet ist. (Firefox Bug 1950508). - Die
Error.isError()statische Methode kann jetzt verwendet werden, um zu überprüfen, ob ein Objekt eine Instanz einesErroroder einerDOMExceptionist. Dies ist zuverlässiger als die Verwendung voninstanceoffür den gleichen Zweck. (Firefox Bug 1952249). - Die
importDeklaration unterstützt jetzt den Import von JSON-Modulen mit demwithAttribut.
HTTP
- Der
Clear-Site-DataHeader kann mit dercache(und*) Direktive verwendet werden, um den Browser-Netzwerk-Cache zu leeren. Dies ermöglicht Websites mehr Kontrolle über die für ihre Benutzer gespeicherten Daten, wodurch sie beispielsweise das Risiko von Datenschutzverletzungen durch Löschen des Caches beim Logout verringern können. (Firefox Bug 1942272). - Der HTTP
Origin-Agent-ClusterAntwort-Header kann jetzt von einer Website verwendet werden, um anzudeuten, dass das zugehörige Dokument in einem ursprungsbezogenen Agent Cluster platziert werden sollte. Wenn es in einem solchen Cluster ist, werden der Betriebssystemprozess und/oder andere OS-Ressourcen, die vom Dokument verwendet werden, nur mit anderen Dokumenten vom gleichen Ursprung geteilt. Dies verringert die Wahrscheinlichkeit, dass ein ressourcenintensives Dokument die Leistung von Dokumenten aus anderen Ursprüngen beeinträchtigt. Entwickler können testen, ob der Browser das Dokument in einen ursprungsbezogenen Agent-Cluster gesetzt hat, indem sie diewindow.originAgentClusterEigenschaft verwenden. (Firefox Bug 1665474)
APIs
- Die Login Status API wird jetzt unterstützt, wenn die Federated Credential Management (FedCM) API verwendet wird. Sie kann verwendet werden, um festzustellen und zu prüfen, ob ein Browser-Benutzer bei einem Identitätsanbieter angemeldet ist.
Dies beinhaltet die Unterstützung für die
NavigatorLoginSchnittstelle, dienavigator.loginEigenschaft und denSet-LoginHTTP Antwort-Header. (Firefox Bug 1945576 und Firefox Bug 1945573). - Die Web Audio API unterstützt jetzt bidirektionale Nachrichtenübermittlung auf einer
AudioWorklet.portund einerAudioWorkletGlobalScope.port. Dies ermöglicht benutzerdefinierte, asynchrone Kommunikation zwischen Code im Hauptthread und dem globalen Bereich eines Audio Worklet, wie z.B. Empfang von Steuerungsdaten oder globalen Einstellungen. (Firefox Bug 1951240) - Die
getFingerprints()Methode derRTCCertificateSchnittstelle wird jetzt unterstützt. Eine Anwendung kann dies verwenden, um Fingerabdrücke für ein Zertifikat zu erhalten, die möglicherweise über andere Kanäle geteilt werden, um einen bestimmten Benutzer oder Browser über WebRTC-Sitzungen hinweg zu identifizieren. (Firefox Bug 1525241).
DOM
Medien, WebRTC und Web Audio
- WebRTC-Anwendungen können jetzt eine Präferenz festlegen, ob bei einer Verschlechterung des Netzwerks die Framerate oder die Auflösung bevorzugt werden soll, wenn beide nicht auf den konfigurierten Ebenen gehalten werden können.
Der Wert wird mit der
degradationPreferenceEigenschaft im Parameterobjekt festgelegt, das an diesetParameters()Methode derRTCRtpSenderSchnittstelle übergeben wird. Er kann auch aus dem Objekt gelesen werden, das von dergetParameters()Methode zurückgegeben wird. (Firefox Bug 1329847).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Alle entfernten Protokolle aktivieren jetzt die erforderlichen Präferenzen, um Protokolle korrekt an stdout zu leiten (Firefox Bug 1947740).
- Ein neues Firefox-Argument,
--remote-enable-system-access, wurde hinzugefügt, um sensible Funktionen zu ermöglichen, wie z.B. die Interaktion mit Browsing-Kontexten im übergeordneten Prozess (z.B. Browser-UI) oder die Nutzung privilegierter APIs in Inhaltsprozessen. Dies wird für WebDriver BiDi Features in den nächsten Versionen verwendet und kann bereits mit Marionette verwendet werden (siehe den Abschnitt Marionette unten) (Firefox Bug 1944565).
WebDriver BiDi
- Der
webExtension.installBefehl installiert jetzt Web-Erweiterungen standardmäßig vorübergehend, was es ermöglicht, ihn mit unsignierten Erweiterungen zu verwenden - entweder als XPI-Datei oder als entpackter Ordner. Ein neuer, Firefox-spezifischer Parameter,moz:permanent, wurde hinzugefügt, um die Installation als reguläre Erweiterung zu erzwingen (Firefox Bug 1947678). - Der
browsingContext.setViewportBefehl unterstützt jetzt einenuserContextsParameter, der ein Array von Benutzerkontext- (Firefox-Container-) IDs sein muss. Wenn angegeben, wird die Viewport-Konfiguration auf alle Browsing-Kontexte angewendet, die zu diesen Benutzerkontexten gehören, sowie auf alle zukünftigen Kontexte, die innerhalb von ihnen erstellt werden. Dieser Parameter kann nicht zusammen mit dem bestehendencontextParameter verwendet werden (Firefox Bug 1940952). - Die
browsingContext.InfoTypisierung umfasst jetzt eineclientWindowEigenschaft, die der ID des Fensters entspricht, dem der Browsing-Kontext gehört. Sie wird typischerweise vonbrowsingContext.getTreezurückgegeben oder im Payload von Ereignissen wiebrowsingContext.contextCreatedenthalten (Firefox Bug 1920952).
Marionette
- Der Wechsel zum
chrome(übergeordneten Prozess) Kontext mit Marionette erfordert jetzt die Verwendung des--remote-enable-system-accessKommandozeilen-Flags beim Start von Firefox (Firefox Bug 1710425).
Änderungen für Add-on-Entwickler
- Unterstützung für
page_actionals einmenus.ContextTypeimmenusAPI für Manifest V3 Erweiterungen bereitgestellt. Dies gibt Manifest V3 Erweiterungen die gleiche Fähigkeit wie Manifest V2 Erweiterungen, Menüpunkte zupage_actionhinzuzufügen. (Firefox Bug 1951166) - Die
contextualIdentitiesAPI ist nicht mehr in Firefox für Android definiert. Zuvor war sie definiert, aber fehlerhaft. (Firefox Bug 1659500) - Die
contextualIdentitiesBerechtigung wird jetzt in Firefox für Android nicht erkannt. Zuvor aktivierte sie eine fehlerhafte Version der "Container"-Funktion. (Firefox Bug 1659500) - Die neue Manifest V3 Version der
userScriptsAPI ist jetzt in Firefox für Android verfügbar. (Firefox Bug 1949955) - Implementiert die
webRequest.handlerBehaviorChangedAPI. In früheren Versionen wurde diese Methode angezeigt, aber tat nichts. (Firefox Bug 1657575) - Die
alarms.createAPI gibt jetzt ein Promise zurück anstelle von undefined. (Firefox Bug 1869171) - Unterstützung hinzugefügt, um die Manipulation von Tabs innerhalb von Tab-Gruppen zu ermöglichen, einschließlich der Ergänzung von:
tabs.group()undtabs.ungroup(). (Firefox Bug 1959714)groupIdzutabs.Tab. (Firefox Bug 1959713)groupIdzutabs.query. (Firefox Bug 1959715)groupIdzutabs.onUpdated. (Firefox Bug 1959716)
- Der
jsonRessourcentyp wird jetzt sowohl inwebRequest.ResourceTypeals auch indeclarativeNetRequest.ResourceTypein Firefox unterstützt, mit Importattributen, die standardmäßig aktiviert sind. Zuvor wurde dies alsscriptberichtet. (Firefox Bug 1858078 und Firefox Bug 1950836)
Experimentelle Web-Funktionen
Diese Funktionen werden neu in Firefox 138 ausgeliefert und gelten als experimentell.
Sie können standardmäßig deaktiviert sein oder standardmäßig aktiviert sein, aber nur in der Nightly-Version verfügbar sein.
Für standardmäßig deaktivierte Funktionen suchen Sie die entsprechende Präferenz auf der about:config Seite und setzen Sie sie auf true.
Weitere solche Funktionen finden Sie auf der Experimentelle Funktionen Seite.
-
UA-Stile für
<h1>verschachtelt in Abschnittselementen:layout.css.h1-in-section-ua-styles.enabled.Die
<h1>Überschrift verkleinert sich in der Schriftgröße nicht mehr, wenn sie innerhalb von Abschnittselementen<article>,<aside>,<nav>und<section>verschachtelt ist. Die UA-Stile für<h1>verschachtelt in Abschnittselementen sind nicht mehr relevant, da der Umrissalgorithmus entfernt wurde aus der HTML-Spezifikation. (Firefox Bug 1883896).Im Rahmen eines gestuften Rollouts dieser Entfernung wird der Wert von
layout.css.h1-in-section-ua-styles.enabledfür 5 % der Benutzer von Firefox 138 und 50 % der Benutzer von Firefox Beta 138 auffalsegesetzt (Absicht, die UA-Stile für h1 in article, aside, nav, section zu entfernen).Hinweis: Die Präferenz für diese Funktion funktioniert umgekehrt: Sie ist in der Nightly-Version auf
falsegesetzt, wodurch das UA-Styling für in Abschnittselementen verschachtelte Überschriften entfernt wird. Sie ist in allen anderen Kanälen auftruegesetzt, wodurch das bestehende UA-Styling für die verschachtelten Überschriften beibehalten wird. -
::details-contentCSS-Pseudoelement:layout.css.details-content.enabled.Das CSS
::details-contentPseudoelement ermöglicht es Ihnen, den Inhalt des<details>Elements zu stylen (Firefox Bug 1901037). -
Erlauben von Pseudoelementen nach elementgestützten Pseudoelementen
Die Arbeit hat begonnen, Pseudoelemente wie
::first-letterund::beforeanzuhängen an elementgestützte Pseudoelemente wie::details-contentund::file-selector-button. (Firefox Bug 1953557).Hinweis: Diese Funktion hängt von der Unterstützung für das anvisierte elementgestützte Pseudoelement ab, zum Beispiel:
::details-content, das hinter derlayout.css.details-content.enabledPräferenz steht. -
MutationEventauf Pfad zur Entfernung:dom.mutation_events.enabledMutationEventund seine zugehörigen Ereignisse (DOMSubtreeModified,DOMNodeInserted,DOMNodeRemoved,DOMCharacterDataModified,DOMAttrModified) sind jetzt standardmäßig in Firefox Nightly deaktiviert. (Firefox Bug 1951772). -
Notification.actions(Nightly):dom.webnotifications.actions.enabledDie
Notification.actionsEigenschaft kann die Aktionen abrufen, die mit einerNotificationassoziiert sind, wie sie mittelsServiceWorkerRegistration.showNotification()gesetzt wurden. (Firefox Bug 1225110). -
PerformanceEventTiming.interactionId:dom.performance.event_timing.enable_interactionidPerformanceEventTiming.interactionIdkann verwendet werden, um die Latenzzeiten für Ereignisse zu messen, die durch eine bestimmte Benutzerinteraktion ausgelöst wurden. (Firefox Bug 1934683). -
HTML Sanitizer API:
dom.security.sanitizer.enabledDie HTML Sanitizer API ermöglicht es Entwicklern, nicht vertrauenswürdige HTML-Strings zu nehmen und sie zu reinigen, damit sie sicher in das DOM eines Dokuments eingefügt werden können. (Firefox Bug 1950605, Firefox Bug 1952250).