Firefox 138 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 Webentwickler
HTML
- Der
importmap
-Wert destype
-Attributs des<script>
-Elements unterstützt jetzt denintegrity
-Schlüssel. Dies erlaubt es, die ES-Modul-URLs, die in den Import-Maps referenziert werden, anhand ihrer Integritätsmetadaten zu überprüfen. Dadurch sind diese Module jetzt kompatibel mit CSP-Direktiven, die Subresource-Integrität (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.stack
-Eigenschaft. Der Hauptanwendungsfall ist es, einen Stack-Trace auf einem benutzerdefinierten Fehlerobjekt zu installieren, das nicht von derError
-Schnittstelle abgeleitet ist. (Firefox Bug 1950508). - Die
Error.isError()
-statische Methode kann jetzt verwendet werden, um zu prüfen, ob ein Objekt eine Instanz einesError
oder einerDOMException
ist. Dies ist zuverlässiger als die Verwendung voninstanceof
für denselben Zweck. (Firefox Bug 1952249). - Die
import
-Deklaration unterstützt jetzt das Importieren von JSON-Modulen mithilfe deswith
-Attributs.
HTTP
- Der
Clear-Site-Data
-Header kann mit dercache
-(und*
)-Direktive verwendet werden, um den Browser-Netzwerkcache zu löschen. Dies gibt Websites mehr Kontrolle über die für ihre Benutzer gespeicherten Daten, sodass sie beispielsweise das Risiko von Datenschutzverletzungen mindern können, indem sie den Cache beim Abmelden löschen. (Firefox Bug 1942272). - Der HTTP
Origin-Agent-Cluster
Antwort-Header kann jetzt von einer Website verwendet werden, um anzudeuten, dass das zugehörige Dokument in einem ursprungsbezogenen Agent-Cluster platziert werden sollte. In einem solchen Cluster werden vom Dokument genutzte Betriebssystemprozesse und/oder andere OS-Ressourcen nur mit anderen Dokumenten desselben Ursprungs 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 einem ursprungsbezogenen Agent-Cluster platziert hat, indem sie diewindow.originAgentCluster
-Eigenschaft 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 festzulegen und zu überprüfen, ob ein Browser-Benutzer bei einem Identity-Provider angemeldet ist.
Dies umfasst die Unterstützung für die
NavigatorLogin
-Schnittstelle, dienavigator.login
-Eigenschaft und denSet-Login
HTTP-Antwort-Header. (Firefox Bug 1945576 und Firefox Bug 1945573). - Die Web Audio API unterstützt jetzt bidirektionale Nachrichtenübermittlung auf einem
AudioWorklet.port
und einemAudioWorkletGlobalScope.port
. Dies ermöglicht eine benutzerdefinierte, asynchrone Kommunikation zwischen Code im Hauptthread und dem globalen Bereich eines Audio-Worklets, wie das Empfangen von Steuerdaten oder globalen Einstellungen. (Firefox Bug 1951240) - Die
getFingerprints()
-Methode derRTCCertificate
-Schnittstelle wird jetzt unterstützt. Eine Anwendung kann diese verwenden, um Fingerabdrücke für ein Zertifikat zu erhalten, die möglicherweise außerhalb des Bands 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 zum Priorisieren von Bildrate oder Auflösung festlegen, wenn beides aufgrund von Netzwerkverschlechterung nicht auf den konfigurierten Ebenen gehalten werden kann.
Der Wert wird mithilfe der
degradationPreference
-Eigenschaft im Parameterobjekt, das an diesetParameters()
-Methode derRTCRtpSender
-Schnittstelle übergeben wird, festgelegt. 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 Remote-Protokolle aktivieren jetzt die Präferenzen, die erforderlich sind, um Protokolle ordnungsgemäß an stdout zu leiten (Firefox Bug 1947740).
- Ein neues Firefox-Argument,
--remote-enable-system-access
, wurde hinzugefügt, um sensible Funktionen zu aktivieren, wie das Interagieren mit Browsing Contexts im übergeordneten Prozess (z. B. Browser-Benutzeroberfläche) oder die Verwendung privilegierter APIs in Inhaltsprozessen. Dies wird in den nächsten Veröffentlichungen für WebDriver BiDi-Funktionen verwendet werden und kann bereits mit Marionette verwendet werden (siehe Marionette-Abschnitt unten) (Firefox Bug 1944565).
WebDriver BiDi
- Der
webExtension.install
-Befehl installiert jetzt Web-Erweiterungen standardmäßig temporär, sodass er mit nicht signierten Erweiterungen verwendet werden kann - 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.setViewport
-Befehl unterstützt jetzt einenuserContexts
-Parameter, der ein Array von Benutzerkontext-(Firefox-Container)-IDs sein muss. Wenn angegeben, wird die Viewport-Konfiguration auf alle Browsing-Kontexte angewendet, die diesen Benutzerkontexten gehören, sowie auf alle zukünftigen Kontexte, die innerhalb dieser erstellt werden. Dieser Parameter kann nicht zusammen mit dem bestehendencontext
-Parameter verwendet werden (Firefox Bug 1940952). - Der
browsingContext.Info
-Typ enthält jetzt eineclientWindow
-Eigenschaft, die der ID des Fensters entspricht, das den Browsing Context besitzt. Es wird typischerweise vonbrowsingContext.getTree
zurückgegeben oder in der Nutzlast von Ereignissen wiebrowsingContext.contextCreated
enthalten (Firefox Bug 1920952).
Marionette
- Der Wechsel zum
chrome
(übergeordneter Prozess)-Kontext mit Marionette erfordert jetzt das Verwenden des--remote-enable-system-access
-Kommandozeilen-Flags beim Starten von Firefox (Firefox Bug 1710425).
Änderungen für Add-on-Entwickler
- Unterstützung für
page_action
alsmenus.ContextType
immenus
API für Manifest V3-Erweiterungen bereitgestellt. Dies bietet Manifest V3-Erweiterungen die gleiche Möglichkeit wie Manifest V2-Erweiterungen, Menüeinträge zupage_action
hinzuzufügen. (Firefox Bug 1951166) - Die
contextualIdentities
API ist in Firefox für Android nicht mehr definiert. Zuvor war sie definiert, aber fehlerhaft. (Firefox Bug 1659500) - Die
contextualIdentities
-Berechtigung wird auf Firefox für Android jetzt nicht mehr erkannt. Zuvor ermöglichte sie eine defekte Version der "Container"-Funktion. (Firefox Bug 1659500) - Die neue Manifest V3-Version der
userScripts
API ist jetzt in Firefox für Android verfügbar. (Firefox Bug 1949955) - Implementiert die
webRequest.handlerBehaviorChanged
API. In früheren Versionen wurde diese Methode ausgesetzt, aber nichts bewirkte. (Firefox Bug 1657575) - Die
alarms.create
API gibt jetzt ein Promise anstelle von undefined zurück. (Firefox Bug 1869171) - Unterstützung hinzugefügt, um die Manipulation von Tabs innerhalb von Tab-Gruppen zu ermöglichen, einschließlich der Hinzufügung von:
tabs.group()
undtabs.ungroup()
. (Firefox Bug 1959714)groupId
zutabs.Tab
. (Firefox Bug 1959713)groupId
zutabs.query
. (Firefox Bug 1959715)groupId
zutabs.onUpdated
. (Firefox Bug 1959716
- Der
json
-Ressourcentyp wird jetzt sowohl inwebRequest.ResourceType
als auch indeclarativeNetRequest.ResourceType
in Firefox unterstützt, wobei Importattribute standardmäßig aktiviert sind. Zuvor wurde er alsscript
gemeldet. (Firefox Bug 1858078 und Firefox Bug 1950836)
Experimentelle Web-Features
Diese Funktionen sind neu in Firefox 138 und gelten als experimentell.
Sie sind möglicherweise standardmäßig deaktiviert oder standardmäßig aktiviert, aber nur im Nightly-Build verfügbar.
Für Funktionen, die standardmäßig deaktiviert sind, suchen Sie auf der about:config
-Seite nach der entsprechenden Einstellung und setzen Sie diese auf true
.
Sie finden weitere solche Funktionen auf der Seite Experimentelle Funktionen.
-
UA-Stile für
<h1>
in Gliederungselementen verschachtelt:layout.css.h1-in-section-ua-styles.enabled
.Die
<h1>
-Überschrift wird nicht mehr in der Schriftgröße verringert, wenn sie innerhalb von Gliederungselementen<article>
,<aside>
,<nav>
und<section>
verschachtelt ist. Die UA-Stile für<h1>
innerhalb von Gliederungselementen sind nicht mehr relevant, seit der Outline-Algorithmus aus der HTML-Spezifikation entfernt wurde. (Firefox Bug 1883896).Im Rahmen einer gestaffelten Einführung dieser Entfernung wird bei 5 % der Benutzer von Firefox 138 und 50 % der Benutzer von Firefox Beta 138 der Wert von
layout.css.h1-in-section-ua-styles.enabled
auffalse
gesetzt (Intent to unship: UA styles for h1 in article, aside, nav, section).Hinweis: Die Einstellung für diese Funktion funktioniert umgekehrt: Im Nightly-Build ist sie auf
false
gesetzt, wodurch die UA-Stile für Überschriften, die in Gliederungselementen verschachtelt sind, entfernt werden. In allen anderen Kanälen ist sie auftrue
gesetzt, wodurch die vorhandenen UA-Stile für die verschachtelten Überschriften beibehalten werden. -
::details-content CSS-Pseudo-Element:
layout.css.details-content.enabled
.Das CSS
::details-content
-Pseudo-Element ermöglicht das Stylen des Inhalts des<details>
-Elements (Firefox Bug 1901037). -
Erlauben von Pseudo-Elementen nach elementenunterstützten Pseudo-Elementen
Die Arbeiten haben begonnen, um Pseudo-Elemente zu erlauben, wie
::first-letter
und::before
, die an elementenunterstützte Pseudo-Elemente angehängt werden, wie::details-content
und::file-selector-button
. (Firefox Bug 1953557).Hinweis: Die Einstellung für diese Funktion hängt vom anvisierten elementenunterstützten Pseudo-Element ab, zum Beispiel:
::details-content
. -
MutationEvent
auf dem Weg zur Entfernung:dom.mutation_events.enabled
MutationEvent
und seine zugehörigen Ereignisse (DOMSubtreeModified
,DOMNodeInserted
,DOMNodeRemoved
,DOMCharacterDataModified
,DOMAttrModified
) sind jetzt standardmäßig im Firefox Nightly deaktiviert. (Firefox Bug 1951772). -
Notification.actions
(Nightly):dom.webnotifications.actions.enabled
Die
Notification.actions
Eigenschaft kann die mit einerNotification
verbundenen Aktionen abrufen, wie sie mitServiceWorkerRegistration.showNotification()
festgelegt wurden. (Firefox Bug 1225110). -
PerformanceEventTiming.interactionId
:dom.performance.event_timing.enable_interactionid
PerformanceEventTiming.interactionId
kann verwendet werden, um die Latenzzeit für Ereignisse zu messen, die durch eine bestimmte Benutzerinteraktion ausgelöst werden. (Firefox Bug 1934683). -
HTML Sanitizer API:
dom.security.sanitizer.enabled
Die HTML Sanitizer API erlaubt Entwicklern, nicht vertrauenswürdige HTML-Strings zu nehmen und sie für die sichere Einfügung in das DOM eines Dokuments zu bereinigen. (Firefox Bug 1950605), (Firefox Bug 1952250).