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 ermöglicht es, die ES-Modul-URLs, die in den Import-Maps referenziert werden, mit ihren Integritätsmetadaten abzugleichen. Dadurch sind diese Module jetzt mit CSP-Direktiven kompatibel, die Subresource Integrity (SRI) erfordern. (Firefox Bug 1945540).
CSS
Keine bemerkenswerten Änderungen
JavaScript
- Die
Error.captureStackTrace()
statische Methode wird jetzt unterstützt. Diese installiert Stapelverfolgungsinformationen auf einem bereitgestellten Objekt alsError.stack
-Eigenschaft. Der Hauptanwendungsfall besteht darin, eine Stapelverfolgung 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 überprü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 mit demwith
Attribut.
HTTP
- Der
Clear-Site-Data
Header kann mit dercache
(und*
) Direktive verwendet werden, um den Netzwerkcache des Browsers zu löschen. Dies gibt Websites mehr Kontrolle über die für ihre Benutzer gespeicherten Daten, sodass sie z. B. das Risiko von Datenschutzverletzungen mindern können, indem sie den Cache während des Abmeldens löschen. (Firefox Bug 1942272). - Der HTTP
Origin-Agent-Cluster
Antwort-Header kann jetzt von einer Site verwendet werden, um anzuzeigen, dass das zugehörige Dokument in einem ursprungsbasierten Agenten-Cluster platziert werden sollte. In einem solchen Cluster werden der Betriebssystemprozess und/oder andere vom Dokument verwendete Betriebssystemressourcen 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 einen ursprungsbasierten 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 festzustellen und zu überprüfen, ob ein Browser-Benutzer 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 nun bidirektionale Nachrichtenübermittlung auf einer
AudioWorklet.port
und einerAudioWorkletGlobalScope.port
. Dies ermöglicht eine benutzerdefinierte, asynchrone Kommunikation zwischen Code im Hauptthread und dem globalen Scope eines Audio-Worklets, z. B. um Steuerungsdaten oder globale Einstellungen zu empfangen. (Firefox Bug 1951240) - Die
getFingerprints()
Methode derRTCCertificate
Schnittstelle wird jetzt unterstützt. Eine Anwendung kann dies verwenden, um Fingerabdrücke für ein Zertifikat zu erhalten, die möglicherweise außerhalb des WebRTC-Sessions verwendet werden, um einen bestimmten Benutzer oder Browser zu identifizieren. (Firefox Bug 1525241).
DOM
Medien, WebRTC und Web Audio
- WebRTC Anwendungen können nun eine Präferenz für die Priorisierung von Bildrate oder Auflösung setzen, wenn beides aufgrund von Netzwerkverschlechterungen nicht auf den konfigurierten Ebenen gehalten werden kann. Der Wert wird mit der
degradationPreference
Eigenschaft im Parameterobjekt gesetzt, das an diesetParameters()
Methode derRTCRtpSender
Schnittstelle ü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 Fernprotokolle aktivieren nun die erforderlichen Präferenzen, 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 beispielsweise das Interagieren mit Browsing-Kontexten im übergeordneten Prozess (z. B. Browser-UI) oder die Verwendung privilegierter APIs in Inhaltsprozessen. Dies wird in den nächsten Versionen für WebDriver BiDi-Funktionen verwendet und kann bereits mit Marionette verwendet werden (siehe unten stehenden Marionette-Abschnitt) (Firefox Bug 1944565).
WebDriver BiDi
- Der
webExtension.install
Befehl 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, spezifischer Firefox-Parameter,moz:permanent
, wurde hinzugefügt, um die Installation stattdessen 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 zu diesen Benutzerkontexten gehören, sowie auf alle zukünftig innerhalb dieser erstellten Kontexte. 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, dem der Browsing-Kontext gehört. Diese wird typischerweise vonbrowsingContext.getTree
zurückgegeben oder im Payload von Ereignissen wiebrowsingContext.contextCreated
enthalten (Firefox Bug 1920952).
Marionette
- Der Wechsel zum
chrome
(übergeordneter Prozess) Kontext mit Marionette erfordert jetzt die Verwendung des--remote-enable-system-access
Befehlszeilen-Flags beim Starten von Firefox (Firefox Bug 1710425).
Änderungen für Add-on-Entwickler
- Unterstützung bereitgestellt für
page_action
alsmenus.ContextType
in dermenus
API für Manifest V3 Erweiterungen. Dies bietet Manifest V3 Erweiterungen die gleiche Fähigkeit wie Manifest V2 Erweiterungen, Menüelemente 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 jetzt auf Firefox für Android nicht mehr erkannt. Früher aktivierte sie eine fehlerhafte Version der "Container"-Funktion. (Firefox Bug 1659500) - Die neue Manifest V3 Version der
userScripts
API ist jetzt auf Firefox für Android verfügbar. (Firefox Bug 1949955) - Implementiert die
webRequest.handlerBehaviorChanged
API. In früheren Versionen wurde diese Methode zwar bereitgestellt, tat aber 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 die Manipulation 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 in beidenwebRequest.ResourceType
unddeclarativeNetRequest.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-Funktionen
Diese Funktionen sind neu in Firefox 138 verfügbar und gelten als experimentell. Sie können standardmäßig deaktiviert sein oder standardmäßig aktiviert, aber nur in der Nightly Version verfügbar sein. Für Funktionen, die standardmäßig deaktiviert sind, suchen Sie die entsprechende Präferenz auf der about:config
Seite und setzen Sie sie auf true
. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
UA-Stile für
<h1>
, das in Gliederungselementen verschachtelt ist:layout.css.h1-in-section-ua-styles.enabled
.Die
<h1>
-Überschrift wird jetzt 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>
, die in Gliederungselementen verschachtelt ist, sind nicht mehr relevant, da der Outline-Algorithmus aus der HTML-Spezifikation entfernt wurde. (Firefox Bug 1883896).Im Rahmen einer gestaffelten 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: Sie ist in der Nightly Version auf
false
gesetzt, was die UA-Stile für Überschriften, die in Gliederungselementen verschachtelt sind, entfernt. Sie ist in allen anderen Kanälen auftrue
gesetzt, was die bestehenden UA-Stile für die verschachtelten Überschriften beibehält. -
::details-content CSS Pseudo-Element:
layout.css.details-content.enabled
.Das CSS
::details-content
Pseudo-Element ermöglicht es Ihnen, den Inhalt des<details>
Elements zu stylen (Firefox Bug 1901037). -
Erlauben von Pseudo-Elementen nach Element-gestützten Pseudo-Elementen
Es wurde damit begonnen, Pseudo-Elemente wie
::first-letter
und::before
zu erlauben, nach Element-gestützten Pseudo-Elementen wie::details-content
und::file-selector-button
angefügt zu werden. (Firefox Bug 1953557).Hinweis: Die Präferenz für diese Funktion hängt von dem element-gestützten Pseudo-Element ab, das anvisiert wird, zum Beispiel:
::details-content
. -
MutationEvent
auf dem Weg zur Entfernung:dom.mutation_events.enabled
MutationEvent
und die 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.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 Latenzzeiten 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, nicht vertrauenswürdige HTML-Strings zu übernehmen und sie für eine sichere Einfügung in das DOM eines Dokuments zu bereinigen. (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