Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 des type-Attributs des <script>-Elements unterstützt jetzt den integrity-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 als Error.stack-Eigenschaft. Der Hauptanwendungsfall besteht darin, eine Stapelverfolgung auf einem benutzerdefinierten Fehlerobjekt zu installieren, das nicht von der Error-Schnittstelle abgeleitet ist. (Firefox-Bug 1950508).
  • Die statische Methode Error.isError() kann jetzt verwendet werden, um zu überprüfen, ob ein Objekt eine Instanz von Error oder einer DOMException ist. Dies ist zuverlässiger als die Verwendung von instanceof für denselben Zweck. (Firefox-Bug 1952249).
  • Die import-Deklaration unterstützt jetzt den Import von JSON-Modulen mit dem with-Attribut.

HTTP

  • Der Clear-Site-Data-Header kann zusammen mit der cache-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 die window.originAgentCluster-Eigenschaft verwenden. (Firefox-Bug 1665474)

APIs

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 die setParameters()-Methode der RTCRtpSender-Schnittstelle übergeben wird. Er kann auch aus dem Objekt abgelesen werden, das von der getParameters()-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 einen userContexts-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 vorhandenen context-Parameter verwendet werden (Firefox-Bug 1940952).
  • Der browsingContext.Info-Typ enthält jetzt eine clientWindow-Eigenschaft, die der ID des Fensters entspricht, dem der Browsing-Kontext gehört. Diese wird typischerweise von browsingContext.getTree zurückgegeben oder im Nutzlast von Ereignissen wie browsingContext.contextCreated enthalten (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

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.enabled bei 5% der Benutzer von Firefox 138 und 50% der Benutzer von Firefox Beta 138 auf false 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 im Nightly-Build auf false gesetzt, was die UA-Stilierung für Überschriften innerhalb von Gliederungselementen entfernt. In allen anderen Kanälen ist sie auf true gesetzt, was die vorhandene UA-Stilierung 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 gestalten (Firefox-Bug 1901037).

  • Erlaube Pseudoelemente nach elementgestützten Pseudoelementen

    Es wurde begonnen, Pseudoelemente wie ::first-letter und ::before an elementgestützte Pseudoelemente wie ::details-content und ::file-selector-button anzuhä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 der layout.css.details-content.enabled-Präferenz steht.

  • MutationEvent auf dem Weg zur Entfernung: dom.mutation_events.enabled

    MutationEvent und 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.enabled

    Die Notification.actions-Eigenschaft kann die mit einer Notification verbundenen Aktionen abrufen, wie sie mit ServiceWorkerRegistration.showNotification() festgelegt wurden. (Firefox-Bug 1225110).

  • PerformanceEventTiming.interactionId: dom.performance.event_timing.enable_interactionid

    PerformanceEventTiming.interactionId kann verwendet werden, um Latenzzeiten für durch eine bestimmte Benutzerinteraktion ausgelöste Ereignisse zu messen. (Firefox-Bug 1934683).

  • HTML-Sanitizer API: dom.security.sanitizer.enabled

    Die 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).