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 über die Änderungen in Firefox 138, die Entwickler betreffen. Firefox 138 wurde am 29. April 2025 veröffentlicht.

Änderungen für Web-Entwickler

HTML

  • Der importmap Wert des type Attributs des <script> Elements unterstützt jetzt den integrity Schlüssel. Dies ermöglicht es, die in den Import Maps referenzierten ES-Modul-URLs mit ihren Integritätsmetadaten abzugleichen. Infolgedessen sind diese Module jetzt kompatibel mit CSP Richtlinien, die Subresource Integrity (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 die Error.stack Eigenschaft. Der Hauptanwendungsfall besteht darin, einen Stack-Trace auf ein benutzerdefiniertes Fehlerobjekt zu installieren, das nicht von der Error Schnittstelle abgeleitet ist. (Firefox Bug 1950508).
  • Die Error.isError() statische Methode kann jetzt verwendet werden, um zu überprüfen, ob ein Objekt eine Instanz eines Error oder einer DOMException ist. Dies ist zuverlässiger als die Verwendung von instanceof für den gleichen 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 mit der cache (und *) Direktive verwendet werden, um den Browser-Netzwerk-Cache zu leeren. Dies ermöglicht Websites mehr Kontrolle über die für ihre Benutzer gespeicherten Daten, wodurch sie beispielsweise das Risiko von Datenschutzverletzungen durch Löschen des Caches beim Logout verringern können. (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. Wenn es in einem solchen Cluster ist, werden der Betriebssystemprozess und/oder andere OS-Ressourcen, die vom Dokument verwendet werden, nur mit anderen Dokumenten vom gleichen Ursprung 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 ursprungsbezogenen Agent-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 festlegen, ob bei einer Verschlechterung des Netzwerks die Framerate oder die Auflösung bevorzugt werden soll, wenn beide nicht auf den konfigurierten Ebenen gehalten werden können. Der Wert wird mit der degradationPreference Eigenschaft im Parameterobjekt festgelegt, das an die setParameters() Methode der RTCRtpSender Schnittstelle übergeben wird. Er kann auch aus dem Objekt gelesen werden, das von der getParameters() Methode zurückgegeben wird. (Firefox Bug 1329847).

WebDriver-Konformität (WebDriver BiDi, Marionette)

Allgemein

  • Alle entfernten Protokolle aktivieren jetzt die erforderlichen Präferenzen, um Protokolle korrekt an stdout zu leiten (Firefox Bug 1947740).
  • Ein neues Firefox-Argument, --remote-enable-system-access, wurde hinzugefügt, um sensible Funktionen zu ermöglichen, wie z.B. die Interaktion mit Browsing-Kontexten im übergeordneten Prozess (z.B. Browser-UI) oder die Nutzung privilegierter APIs in Inhaltsprozessen. Dies wird für WebDriver BiDi Features in den nächsten Versionen verwendet und kann bereits mit Marionette verwendet werden (siehe den Abschnitt Marionette unten) (Firefox Bug 1944565).

WebDriver BiDi

  • Der webExtension.install Befehl installiert jetzt Web-Erweiterungen standardmäßig vorübergehend, was es ermöglicht, ihn mit unsignierten Erweiterungen zu verwenden - 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. Wenn angegeben, wird die Viewport-Konfiguration auf alle Browsing-Kontexte angewendet, die zu diesen Benutzerkontexten gehören, sowie auf alle zukünftigen Kontexte, die innerhalb von ihnen erstellt werden. Dieser Parameter kann nicht zusammen mit dem bestehenden context Parameter verwendet werden (Firefox Bug 1940952).
  • Die browsingContext.Info Typisierung umfasst jetzt eine clientWindow Eigenschaft, die der ID des Fensters entspricht, dem der Browsing-Kontext gehört. Sie wird typischerweise von browsingContext.getTree zurückgegeben oder im Payload von Ereignissen wie browsingContext.contextCreated enthalten (Firefox Bug 1920952).

Marionette

  • Der Wechsel zum chrome (übergeordneten Prozess) Kontext mit Marionette erfordert jetzt die Verwendung des --remote-enable-system-access Kommandozeilen-Flags beim Start von Firefox (Firefox Bug 1710425).

Änderungen für Add-on-Entwickler

Experimentelle Web-Funktionen

Diese Funktionen werden neu in Firefox 138 ausgeliefert und gelten als experimentell. Sie können standardmäßig deaktiviert sein oder standardmäßig aktiviert sein, aber nur in der Nightly-Version verfügbar sein. Für standardmäßig deaktivierte Funktionen suchen Sie die entsprechende Präferenz auf der about:config Seite und setzen Sie sie auf true. Weitere solche Funktionen finden Sie auf der Experimentelle Funktionen Seite.

  • UA-Stile für <h1> verschachtelt in Abschnittselementen: layout.css.h1-in-section-ua-styles.enabled.

    Die <h1> Überschrift verkleinert sich in der Schriftgröße nicht mehr, wenn sie innerhalb von Abschnittselementen <article>, <aside>, <nav> und <section> verschachtelt ist. Die UA-Stile für <h1> verschachtelt in Abschnittselementen sind nicht mehr relevant, da der Umrissalgorithmus entfernt wurde aus der HTML-Spezifikation. (Firefox Bug 1883896).

    Im Rahmen eines gestuften Rollouts dieser Entfernung wird der Wert von layout.css.h1-in-section-ua-styles.enabled für 5 % der Benutzer von Firefox 138 und 50 % der Benutzer von Firefox Beta 138 auf false gesetzt (Absicht, die UA-Stile für h1 in article, aside, nav, section zu entfernen).

    Hinweis: Die Präferenz für diese Funktion funktioniert umgekehrt: Sie ist in der Nightly-Version auf false gesetzt, wodurch das UA-Styling für in Abschnittselementen verschachtelte Überschriften entfernt wird. Sie ist in allen anderen Kanälen auf true gesetzt, wodurch das bestehende UA-Styling für die verschachtelten Überschriften beibehalten wird.

  • ::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).

  • Erlauben von Pseudoelementen nach elementgestützten Pseudoelementen

    Die Arbeit hat begonnen, Pseudoelemente wie ::first-letter und ::before anzuhängen an elementgestützte Pseudoelemente wie ::details-content und ::file-selector-button. (Firefox Bug 1953557).

    Hinweis: Diese Funktion hängt von der Unterstützung für das anvisierte elementgestützte Pseudoelement ab, zum Beispiel: ::details-content, das hinter der layout.css.details-content.enabled Präferenz steht.

  • MutationEvent auf Pfad zur Entfernung: dom.mutation_events.enabled

    MutationEvent und seine 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 Aktionen abrufen, die mit einer Notification assoziiert sind, wie sie mittels ServiceWorkerRegistration.showNotification() gesetzt wurden. (Firefox Bug 1225110).

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

    PerformanceEventTiming.interactionId kann verwendet werden, um die Latenzzeiten für Ereignisse zu messen, die durch eine bestimmte Benutzerinteraktion ausgelöst wurden. (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 zu reinigen, damit sie sicher in das DOM eines Dokuments eingefügt werden können. (Firefox Bug 1950605, Firefox Bug 1952250).