Firefox 138 Versionshinweise 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
importmap-Wert destype-Attributs des<script>-Elements unterstützt jetzt denintegrity-Schlüssel. Dies ermöglicht es, dass die in den Import-Maps referenzierten ES-Modul-URLs mit ihren Integritätsmetadaten abgeglichen werden. Dadurch sind diese Module nun mit CSP-Direktiven 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 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 statische Methode
Error.isError()kann jetzt verwendet werden, um zu überprüfen, ob ein Objekt eine Instanz vonErroroder einerDOMExceptionist. Dies ist zuverlässiger als die Verwendung voninstanceoffür denselben Zweck. (Firefox-Bug 1952249). - Die
import-Deklaration unterstützt jetzt den Import von JSON-Modulen mit demwith-Attribut.
HTTP
- Der
Clear-Site-Data-Header kann zusammen mit dercache-Direktive (und*) verwendet werden, um den Netzwerkcache des Browsers zu löschen. Dies gibt Websites mehr Kontrolle über die für ihre Benutzer gespeicherten Daten, indem sie beispielsweise das Risiko von Datenschutzlecks mindern, indem sie den Cache während des Abmeldens löschen. (Firefox-Bug 1930500). - Der HTTP-
Origin-Agent-Cluster-Antwortheader kann nun von einer Site verwendet werden, um anzudeuten, dass das zugehörige Dokument in einem ursprungsbasierten Agenten-Cluster platziert werden sollte. In einem solchen Cluster werden die Betriebssystemprozesse und/oder andere Ressourcen des Betriebssystems, die vom Dokument genutzt werden, nur mit anderen Dokumenten desselben Ursprungs geteilt. Dies macht es weniger wahrscheinlich, 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 Agenten-Cluster gesetzt hat, indem sie diewindow.originAgentCluster-Eigenschaft verwenden. (Firefox-Bug 1665474)
APIs
- Die Login Status API wird nun unterstützt, wenn die Federated Credential Management (FedCM) API verwendet wird. Sie kann verwendet werden, um festzustellen und zu überprüfen, ob ein Browserbenutzer bei einem Identitätsanbieter angemeldet ist.
Dazu gehört die Unterstützung für die
NavigatorLogin-Schnittstelle, dienavigator.login-Eigenschaft und denSet-Login-HTTP-Antwortheader. (Firefox-Bug 1945576 und Firefox-Bug 1945573). - Die Web Audio API unterstützt jetzt bidirektionale Nachrichtenübermittlung auf einem
AudioWorklet.portund einemAudioWorkletGlobalScope.port. Dies ermöglicht benutzerdefinierte, asynchrone Kommunikation zwischen Code im Haupt-Thread und dem globalen Bereich eines Audio-Worklets, wie z. B. das Empfangen von Steuerungsdaten oder globalen Einstellungen. (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 Bandes 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 dafür setzen, ob Bildrate oder Auflösung priorisiert werden soll, wenn beides bei den konfigurierten Pegeln aufgrund einer Netzwerkminderung nicht 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 abgelesen werden, das von dergetParameters()-Methode zurückgegeben wird. (Firefox-Bug 1329847).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Alle Fernprotokolle aktivieren jetzt die Präferenzen, die erforderlich sind, um Protokolle ordnungsgemäß an stdout weiterzuleiten (Firefox-Bug 1947740).
- Ein neues Firefox-Argument,
--remote-enable-system-access, wurde hinzugefügt, um empfindliche Funktionen zu aktivieren, wie das Interagieren mit Browsing-Contexts im übergeordneten Prozess (z. B. Browser-UI) oder die Verwendung privilegierter APIs in Inhaltsprozessen. Dies wird in den nächsten Veröffentlichungen für WebDriver BiDi-Funktionen verwendet und kann bereits mit Marionette verwendet werden (siehe den Abschnitt zu Marionette unten) (Firefox-Bug 1944565).
WebDriver BiDi
- Der
webExtension.install-Befehl installiert jetzt Web-Erweiterungen standardmäßig vorübergehend, 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
browsingContext.setViewport-Befehl unterstützt jetzt einenuserContexts-Parameter, der ein Array von Benutzerkontext- (Firefox-Container-)IDs sein muss. Bei Bereitstellung wird die Viewport-Konfiguration auf alle Browsing-Contexts angewendet, die zu diesen Benutzerkontexten gehören, sowie auf alle zukünftigen Kontexte, die darin erstellt werden. Dieser Parameter kann nicht zusammen mit dem vorhandenencontext-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.getTreezurückgegeben oder im Nutzlast von Ereignissen wiebrowsingContext.contextCreatedenthalten (Firefox-Bug 1920952).
Marionette
- Der Wechsel zum
chrome- (übergeordneten) Kontext mit Marionette erfordert jetzt die Verwendung des--remote-enable-system-access-Befehlszeilenarguments beim Starten von Firefox (Firefox-Bug 1710425).
Änderungen für Add-on-Entwickler
- Unterstützung für
page_actionalsmenus.ContextTypein dermenus-API für Manifest V3-Erweiterungen hinzugefügt. Dies bietet Manifest V3-Erweiterungen die gleiche Fähigkeit wie Manifest V2-Erweiterungen, Menüelemente zupage_actionhinzuzufügen. (Firefox-Bug 1951166) - Die
contextualIdentities-API ist in Firefox für Android nicht mehr definiert. Zuvor war sie definiert, aber defekt. (Firefox-Bug 1659500) - Die Berechtigung
contextualIdentitieswird jetzt in Firefox für Android nicht erkannt. Zuvor ermöglichte 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) - Die Implementierung der
webRequest.handlerBehaviorChanged-API. In früheren Versionen wurde diese Methode angezeigt, aber es passierte nichts. (Firefox-Bug 1657575) - Die
alarms.create-API gibt jetzt ein Versprechen zurück, anstatt undefiniert zu sein. (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
json-Ressourcentyp wird jetzt sowohl inwebRequest.ResourceTypeals auch indeclarativeNetRequest.ResourceTypein Firefox unterstützt, wobei Importattribute standardmäßig aktiviert sind. Zuvor wurde er alsscriptgemeldet. (Firefox-Bug 1858078 und Firefox-Bug 1950836)
Experimentelle Web-Funktionen
Diese Funktionen sind neu in Firefox 138 implementiert und werden als experimentell betrachtet.
Sie können standardmäßig deaktiviert oder standardmäßig aktiviert, aber nur im Nightly-Build verfügbar sein.
Für standardmäßig deaktivierte Funktionen suchen Sie die entsprechende Präferenz auf der about:config-Seite und setzen sie auf true.
Weitere solche Funktionen finden Sie auf der Seite mit den experimentellen Funktionen.
-
UA-Stile für
<h1>innerhalb von Gliederungselementen:layout.css.h1-in-section-ua-styles.enabled.Die
<h1>-Überschrift nimmt jetzt nicht mehr in der Schriftgröße ab, 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, da der Gliederungsalgorithmus aus der HTML-Spezifikation entfernt wurde. (Firefox-Bug 1883896).Im Rahmen einer schrittweisen Deaktivierung dieser Entfernung wird der Wert von
layout.css.h1-in-section-ua-styles.enabledbei 5% der Benutzer von Firefox 138 und 50% der Benutzer von Firefox Beta 138 auffalsegesetzt (Intent to unship: UA styles for h1 in article, aside, nav, section).Hinweis: Die Präferenz für diese Funktion funktioniert umgekehrt: Sie ist im Nightly-Build auf
falsegesetzt, was die UA-Stilierung für Überschriften innerhalb von Gliederungselementen entfernt. In allen anderen Kanälen ist sie auftruegesetzt, was die vorhandene UA-Stilierung für die verschachtelten Überschriften beibehält. -
::details-contentCSS-Pseudoelement:layout.css.details-content.enabled.Das CSS-
::details-content-Pseudoelement ermöglicht es Ihnen, den Inhalt des<details>-Elements zu gestalten (Firefox-Bug 1901037). -
Erlaube Pseudoelemente nach elementgestützten Pseudoelementen
Es wurde begonnen, Pseudoelemente wie
::first-letterund::beforean elementgestützte Pseudoelemente wie::details-contentund::file-selector-buttonanzuhängen. (Firefox-Bug 1953557).Hinweis: Diese Funktion hängt von der Unterstützung des elementgestützten Pseudoelements ab, das angesprochen wird, zum Beispiel:
::details-content, das hinter derlayout.css.details-content.enabled-Präferenz steht. -
MutationEventauf dem Weg zur Entfernung:dom.mutation_events.enabledMutationEventund seine zugehörigen Events (DOMSubtreeModified,DOMNodeInserted,DOMNodeRemoved,DOMCharacterDataModified,DOMAttrModified) sind jetzt in Firefox Nightly standardmäßig deaktiviert. (Firefox-Bug 1951772). -
Notification.actions(Nightly):dom.webnotifications.actions.enabledDie
Notification.actions-Eigenschaft kann die mit einerNotificationverbundenen Aktionen abrufen, wie sie mitServiceWorkerRegistration.showNotification()festgelegt wurden. (Firefox-Bug 1225110). -
PerformanceEventTiming.interactionId:dom.performance.event_timing.enable_interactionidPerformanceEventTiming.interactionIdkann verwendet werden, um Latenzzeiten für durch eine bestimmte Benutzerinteraktion ausgelöste Ereignisse zu messen. (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 für die sichere Einfügung in das DOM eines Dokuments zu bereinigen. (Firefox-Bug 1950605, Firefox-Bug 1952250).