Firefox 138 für Entwickler
Dieser Artikel bietet Informationen zu den Änderungen in Firefox 138, die Entwickler betreffen. Firefox 138 wurde am 29. April 2025 veröffentlicht.
Änderungen für Webentwickler
HTML
- Der Wert
importmap
des Attributstype
des<script>
-Elements unterstützt jetzt den Schlüsselintegrity
. Dies ermöglicht es, dass die in den Import-Maps referenzierten ES-Modul-URLs mit ihren Integritätsmetadaten abgeglichen werden. Dadurch sind diese Module jetzt mit CSP-Directives kompatibel, die Subresource Integrity (SRI) erfordern. (Firefox-Bug 1945540).
CSS
Keine bemerkenswerten Änderungen
JavaScript
- Die statische Methode
Error.captureStackTrace()
wird jetzt unterstützt. Diese installiert Stacktrace-Informationen auf einem bereitgestellten Objekt als EigenschaftError.stack
. Der Hauptanwendungsfall ist das Installieren eines Stacktraces auf einem benutzerdefinierten Fehlerobjekt, das nicht von derError
-Schnittstelle abgeleitet ist. (Firefox-Bug 1950508). - Die statische Methode
Error.isError()
kann jetzt verwendet werden, um zu überprüfen, ob ein Objekt eine Instanz vonError
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 mit demwith
-Attribut.
HTTP
- Der
Clear-Site-Data
-Header kann mit dercache
(und*
) Direktive verwendet werden, um den Netzwerk-Cache des Browsers zu leeren. Dies gibt Websites mehr Kontrolle über gespeicherte Daten ihrer Benutzer und ermöglicht es ihnen beispielsweise, das Risiko von Datenschutzlecks zu mindern, indem der Cache beim Logout geleert wird. (Firefox-Bug 1942272). - Der HTTP
Origin-Agent-Cluster
-Antwort-Header kann jetzt von einer Site verwendet werden, um anzudeuten, dass das zugehörige Dokument in einem herkunftsbezogenen Agenten-Cluster platziert werden sollte. In einem solchen Cluster werden der vom Betriebssystem verwendete Prozess und/oder andere OS-Ressourcen, die vom Dokument verwendet werden, nur mit anderen Dokumenten von derselben Herkunft geteilt. Dies reduziert die Wahrscheinlichkeit, dass ein ressourcenintensives Dokument die Leistung von Dokumenten aus anderen Herkünften beeinträchtigt. Entwickler können testen, ob der Browser das Dokument in einen herkunftsbezogenen Agenten-Cluster gestellt hat, indem sie die Eigenschaftwindow.originAgentCluster
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 überprüfen, ob ein Benutzer des Browsers bei einem Identitätsanbieter 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 z. B. den Empfang von Steuerungsdaten oder globalen Einstellungen. (Firefox-Bug 1951240) - Die Methode
getFingerprints()
derRTCCertificate
-Schnittstelle wird jetzt unterstützt. Eine Anwendung kann dies verwenden, um Fingerabdrücke für ein Zertifikat zu erhalten, die möglicherweise out-of-band geteilt werden, um einen bestimmten Benutzer oder Browser über WebRTC-Sitzungen hinweg zu identifizieren. (Firefox-Bug 1525241).
DOM
Media, WebRTC und Web Audio
- WebRTC-Anwendungen können jetzt eine Präferenz dafür einstellen, ob Framerate oder Auflösung priorisiert werden sollen, wenn beides aufgrund von Netzwerkverschlechterung nicht auf den konfigurierten Levels gehalten werden kann. Der Wert wird mit der
degradationPreference
-Eigenschaft im Parameterobjekt gesetzt, das an die MethodesetParameters()
derRTCRtpSender
-Schnittstelle übergeben wird. Es kann auch aus dem Objekt gelesen werden, das von der MethodegetParameters()
zurückgegeben wird. (Firefox-Bug 1329847).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Alle Remote-Protokolle aktivieren jetzt die erforderlichen Präferenzen, um Protokolle ordnungsgemäß zu 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-Kontexten im übergeordneten Prozess (z. B. Browser-UI) oder die Verwendung von privilegierten APIs in Inhaltsprozessen. Dies wird in den nächsten Versionen für WebDriver BiDi-Funktionen verwendet und kann bereits mit Marionette verwendet werden (siehe den Abschnitt Marionette unten) (Firefox-Bug 1944565).
WebDriver BiDi
- Der Befehl
webExtension.install
installiert jetzt standardmäßig Web-Erweiterungen temporär, sodass er mit unsignierten 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 Befehl
browsingContext.setViewport
unterstützt jetzt einenuserContexts
-Parameter, der ein Array von Benutzerkontexten (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ünftig innerhalb dieser erstellten Kontexte. Dieser Parameter kann nicht zusammen mit dem vorhandenencontext
-Parameter verwendet werden (Firefox-Bug 1940952). - Der Typ
browsingContext.Info
enthält jetzt eineclientWindow
-Eigenschaft, die der ID des Fensters entspricht, dem der Browsing-Kontext gehört. Es wird typischerweise vonbrowsingContext.getTree
zurückgegeben oder im Payload von Ereignissen wiebrowsingContext.contextCreated
enthalten (Firefox-Bug 1920952).
Marionette
- Der Wechsel in den
chrome
(Elternprozess)-Kontext mit Marionette erfordert jetzt die Verwendung des--remote-enable-system-access
-Befehlszeilenflags beim Starten von Firefox (Firefox-Bug 1710425).
Änderungen für Add-on-Entwickler
- Unterstützung für
page_action
alsmenus.ContextType
in dermenus
API für Manifest V3-Erweiterungen hinzugefügt. 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. Bisher war sie definiert, aber fehlerhaft. (Firefox-Bug 1659500) - Die
contextualIdentities
-Berechtigung wird in Firefox für Android nun nicht mehr erkannt. Bisher aktivierte sie eine fehlerhafte Version der "Containers"-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 zwar bereitgestellt, aber sie tat nichts. (Firefox-Bug 1657575) - Die
alarms.create
API gibt jetzt ein Promise anstelle von undefined zurück. (Firefox-Bug 1869171) - Unterstützung hinzugefügt, um das Manipulieren von Tabs innerhalb von Tab-Gruppen zu ermöglichen, einschließlich des Hinzufügens 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, mit importierten Attributen, die standardmäßig aktiviert sind. Bisher wurde er alsscript
gemeldet. (Firefox-Bug 1858078 und Firefox-Bug 1950836)
Experimentelle Web-Features
Diese Funktionen sind neu in Firefox 138 enthalten und werden als experimentell betrachtet.
Sie können standardmäßig deaktiviert oder aktiviert sein, jedoch nur im Nightly-Build verfügbar sein.
Für Funktionen, die standardmäßig deaktiviert sind, suchen Sie auf der Seite about:config
nach der entsprechenden Präferenz und setzen Sie sie auf true
.
Weitere Informationen zu solchen Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
UA-Stile für
<h1>
, die in verschachtelte Abschnitte eingefügt sind:layout.css.h1-in-section-ua-styles.enabled
.Die
<h1>
-Überschrift wird nun nicht mehr kleiner, wenn sie innerhalb von Abschnittselementen<article>
,<aside>
,<nav>
und<section>
verschachtelt ist. Die UA-Stile für<h1>
, die innerhalb von Abschnittselementen verschachtelt sind, sind nicht mehr relevant, da der Outline-Algorithmus aus der HTML-Spezifikation entfernt wurde. (Firefox-Bug 1883896).Im Rahmen einer schrittweisen Einführung dieser Entfernung wird bei 5% der Nutzer von Firefox 138 und 50% der Nutzer 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 Präferenz für diese Funktion funktioniert umgekehrt: In der Nightly-Version ist sie auf
false
gesetzt, was die UA-Styling für Überschriften, die in Abschnittselementen verschachtelt sind, entfernt. In allen anderen Kanälen ist sie auftrue
gesetzt, was die bestehenden UA-Styling für die verschachtelten Überschriften beibehält. -
::details-content CSS-Pseudoelement:
layout.css.details-content.enabled
.Das CSS-
::details-content
-Pseudoelement ermöglicht es Ihnen, den Inhalt des<details>
-Elements zu stylen (Firefox-Bug 1901037). -
Pseudoelemente nach Element-gestützten Pseudoelementen
Es wurde begonnen, die Möglichkeit zu implementieren, Pseudoelemente wie
::first-letter
und::before
an Element-gestützte Pseudoelemente anzuhängen, wie z.B.::details-content
und::file-selector-button
. (Firefox-Bug 1953557).Hinweis: Die Präferenz für diese Funktion hängt vom betriebenen Element-gestützten Pseudoelement ab, zum Beispiel:
::details-content
. -
MutationEvent
auf dem Weg zur Entfernung:dom.mutation_events.enabled
MutationEvent
und die damit verbundenen Ereignisse (DOMSubtreeModified
,DOMNodeInserted
,DOMNodeRemoved
,DOMCharacterDataModified
,DOMAttrModified
) sind jetzt standardmäßig in Firefox Nightly deaktiviert. (Firefox-Bug 1951772). -
Notification.actions
(Nightly):dom.webnotifications.actions.enabled
Die
Notification.actions
-Eigenschaft kann die mit einerNotification
verknüpften Aktionen abrufen, wie sie mitServiceWorkerRegistration.showNotification()
gesetzt 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 es Entwicklern, ungesicherte 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).
Ältere Versionen
- Firefox 137 für Entwickler
- Firefox 136 für Entwickler
- Firefox 135 für Entwickler
- Firefox 134 für Entwickler
- Firefox 133 für Entwickler
- Firefox 132 für Entwickler
- Firefox 131 für Entwickler
- Firefox 130 für Entwickler
- Firefox 129 für Entwickler
- Firefox 128 für Entwickler
- Firefox 127 für Entwickler
- Firefox 126 für Entwickler
- Firefox 125 für Entwickler
- Firefox 124 für Entwickler
- Firefox 123 für Entwickler
- Firefox 122 für Entwickler
- Firefox 121 für Entwickler
- Firefox 120 für Entwickler
- Firefox 119 für Entwickler
- Firefox 118 für Entwickler
- Firefox 117 für Entwickler
- Firefox 116 für Entwickler
- Firefox 115 für Entwickler
- Firefox 114 für Entwickler
- Firefox 113 für Entwickler
- Firefox 112 für Entwickler
- Firefox 111 für Entwickler
- Firefox 110 für Entwickler
- Firefox 109 für Entwickler
- Firefox 108 für Entwickler
- Firefox 107 für Entwickler