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 149 Release Notes für Entwickler (Stabil)

Dieser Artikel bietet Informationen über die Änderungen in Firefox 149, die Entwickler betreffen. Firefox 149 wurde am 24. März 2026 veröffentlicht.

Änderungen für Webentwickler

HTML

  • Das globale Attribut popover unterstützt nun den Wert hint. Popovers mit dem Wert hint schließen keine auto Popovers, wenn sie angezeigt werden, schließen jedoch andere Hint-Popovers. (Firefox-Bug 1867743).

MathML

  • Die CSS-Eigenschaft font-family: math wird jetzt unterstützt und standardmäßig auf <math>-Elemente angewendet. Dies stellt sicher, dass Websites eine passende Mathe-Schriftart und/oder MathML verwenden können, ohne wissen zu müssen, welche Schriftarten auf dem zugrunde liegenden OS vorhanden sind. (Firefox-Bug 2014703).

CSS

JavaScript

Keine bemerkenswerten Änderungen.

APIs

DOM

Medien, WebRTC und Web Audio

  • Die Methode HTMLMediaElement.captureStream() wird jetzt unterstützt. Dies gibt ein Objekt zurück, das den Echtzeit-Capture des Inhalts im Element streamt. Der Stream kann beispielsweise als Quelle für eine WebRTC RTCPeerConnection verwendet werden. Vorher war captureStream() nur als die nicht standardmäßige Methode mozCaptureStream() verfügbar. (Firefox-Bug 2017708).

  • MediaElementAudioSourceNode respektiert jetzt die Lautstärke des Medienelements, wenn Audio für alle Arten von Quellen erfasst wird (wie es die Spezifikation verlangt). Zuvor beeinflusste das Einstellen der Lautstärke des Elements nicht das erfasste Audio für MediaStream-Quellen. (Firefox-Bug 2010427).

  • Die Methode HTMLMediaElement.mozCaptureStream() erfasst jetzt rohes Audio aus der Quelle, ohne die Lautstärke des Medienelements anzuwenden, unabhängig von der Art der Quelle, die das Medienelement spielt (wie es die Spezifikation verlangt). Vor dieser Änderung beeinflusste die Lautstärke des Medienelements die Lautstärke des erfassten Streams. (Firefox-Bug 2010427).

WebDriver-Konformität (WebDriver BiDi, Marionette)

Allgemein

  • Die Implementierungen der Screenshot-Funktionen für sowohl das WebDriver BiDi- als auch das klassische WebDriver-Protokoll wurden aktualisiert, um bei Überschreitung der maximal unterstützten Dimensionen des angeforderten Screenshot-Bereichs korrekt einen Fehler zurückzugeben, anstatt diesen stillschweigend abzuschneiden. (Firefox-Bug 1994148).
  • Die Implementierung der Aktionen sowohl für das WebDriver BiDi- als auch das klassische WebDriver-Protokoll wurde aktualisiert, um eine scroll-Aktion des Eingabequellentyps wheel zu erlauben, die über die visuellen Viewport-Dimensionen hinaus scrollt. (Firefox-Bug 1962355).

WebDriver BiDi

  • Unterstützung für die automatische Handhabung von Benutzeraufforderungen hinzugefügt, die durch Fähigkeiten mit dem session.new-Befehl konfiguriert werden kann. (Firefox-Bug 1905086).
  • Der Befehl browser.setDownloadBehavior wurde hinzugefügt, der es Clients ermöglicht, Downloads zu erlauben oder zu verbieten und auch einen benutzerdefinierten Download-Ordner festzulegen. Dieses Verhalten kann pro Sitzung oder pro Benutzerkontexte konfiguriert werden. (Firefox-Bug 1989022).
  • Die Ereignisse script.realmCreated und script.realmDestroyed für Worker-Realm (für dedizierte, geteilte und Service-Worker) wurden hinzugefügt. (Firefox-Bug 1936770).
  • Ein Problem wurde behoben, bei dem die Ereignisse browsingContext.userPromptOpened und browsingContext.userPromptClosed fälschlicherweise die Kontext-ID des obersten Levels anstelle der des iframes auf Android gemeldet haben. (Firefox-Bug 2007385).
  • Die Serialisierung für DOM-Knoten wurde korrigiert, um das Exponieren von Benutzeragent-spezifischen Schattenwurzeln zu verhindern. (Firefox-Bug 2016673).
  • Die Logik bei der Anwendung unterschiedlicher Einstellungen auf neue Browsing-Kontexte wurde aktualisiert, um sicherzustellen, dass beim Erstellen eines Browsing-Kontextes mit dem window.open-Befehl Emulationen, Viewport-Overrides und Vorladeskripte angewendet werden, bevor der Befehl zurückkehrt. (Firefox-Bug 1985997, Firefox-Bug 2005546 und Firefox-Bug 2005558).

Marionette

  • Mehrere klassische WebDriver-Befehle wurden verbessert, um implizierte und pageLoad-Timeouts gemäß dem Skript-Timeout zu handhaben, wobei null-Werte verwendet werden können, um die Timeouts zu deaktivieren. (Firefox-Bug 2008345).

Änderungen für Add-on-Entwickler

  • Erste Unterstützung für geteilte Ansicht hinzugefügt. Diese Unterstützung umfasst:

  • Unterstützung für tabId als Parameter der obersten Ebene in action.isEnabled and browserAction.isEnabled hinzugefügt. Diese Änderung sorgt für Kompatibilität mit der Chrome-Implementierung von action.isEnabled. (Firefox-Bug 2013477)

  • Ein Benutzer-Eingriff ist nicht mehr erforderlich, damit action.openPopup und browserAction.openPopup ein Popup öffnen können. Diese Funktion war hinter der Einstellung extensions.openPopupWithoutUserGesture.enabled seit Firefox 108 verfügbar. Diese Änderung passt das Verhalten von Firefox an Chrome und Safari an. (Firefox-Bug 1799344)

  • Wenn windowId in action.openPopup oder browserAction.openPopup übergeben wird, muss das Fenster fokussiert (aktiv) sein, damit das Popup geöffnet wird. Um ein Popup in einem nicht fokussierten Fenster zu öffnen, muss zuerst windows.update(windowId, { focused: true }) aufgerufen werden. Diese Änderung passt das Verhalten von Firefox an Chrome an. (Firefox-Bug 2011516)

  • Die Fähigkeit von Erweiterungen, Code in ihren moz-extension:-Dokumenten mit tabs.executeScript, tabs.insertCSS, tabs.removeCSS, scripting.executeScript, scripting.insertCSS, und scripting.removeCSS dynamisch auszuführen, wird eingestellt. (Firefox-Bug 2011234) Die Funktion ist in Firefox Nightly nicht mehr verfügbar, und die Beta- und Release-Versionen von Firefox geben eine Warnung in der Konsole des Tabs aus. Diese Einschränkung wird auf alle Versionen von Firefox 152 und später angewendet. (Firefox-Bug 2015559) Als Alternative kann eine Erweiterung Code in ihren Dokumenten dynamisch ausführen, indem ein runtime.onMessage-Listener im Skript des Dokuments registriert und dann eine Nachricht gesendet wird, um die Ausführung des benötigten Codes zu triggern.

  • Der implizite CSS-Filter, der auf Page Action-SVG-Icons in dunklen Themen angewendet wurde, ist in Nightly-Builds deaktiviert (Firefox-Bug 2001318) und wird in anderen Firefox-Ausgaben ab Version 152 deaktiviert sein (Firefox-Bug 2016509). Sie können Page Action-SVG-Icons mit dem deaktivierten CSS-Filter in anderen Firefox-Ausgaben testen, indem Sie eine boolesche about:config-Einstellung namens extensions.webextensions.pageActionIconDarkModeFilter.enabled erstellen und auf false setzen.

Experimentelle Web-Funktionen

Diese Funktionen sind in Firefox 149 enthalten, aber standardmäßig deaktiviert. Um sie zu testen, suchen Sie nach der entsprechenden Einstellung auf der about:config-Seite und setzen Sie sie auf true. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.

  • <attr-type> Werte in der attr() CSS-Funktion: layout.css.attr.enabled

    Die attr() CSS-Funktion unterstützt nun <attr-type> Werte. Dies ermöglicht es Ihnen, festzulegen, wie ein Attributwert in einen CSS-Wert geparst wird und diese Werte direkt von data-* zu übernehmen. (Firefox-Bug 1986631 & Firefox-Bug 1998245).

  • color-mix() akzeptiert mehrere Farbargumente: layout.css.color-mix-multi-color.enabled

    Die color-mix() CSS-Funktion unterstützt jetzt mehrere <color> Werte, anstatt nur zwei. Dies ermöglicht es Ihnen, viele Farben zu mischen und die Prozentsätze jeder Farbe festzulegen. (Firefox-Bug 2007772).

  • Pseudoklassen basierend auf Medien: dom.media.pseudo-classes.enabled

    Die medienbasierten Pseudoklassen :buffering, :muted, :paused, :playing, :seeking, :stalled, und :volume-locked erlauben es Ihnen, <audio> und <video>-Elemente basierend auf ihrem aktuellen Zustand zu stylen, wie z.B. Abspielen oder Pausieren. (Firefox-Bug 1707584, Firefox-Bug 2014512).

  • alpha & colorspace Attribute in color Eingabeelementen (nur Nightly): dom.forms.html_color_picker.enabled

    Das HTML <input type="color"> Element unterstützt die Attribute alpha & colorspace. (Firefox-Bug 1919718).

  • Anfragen über @container style() (Nightly): layout.css.style-queries.enabled

    Die @container CSS-at-rule unterstützt style() Abfragen. Dies ermöglicht es, zu überprüfen, ob ein Container eine gültige CSS-Deklaration, eine CSS-Eigenschaft oder eine benutzerdefinierte Eigenschaft hat und entsprechend Stile auf seine Kinder anzuwenden. (Firefox-Bug 2014404).

  • CSS Typed Object Model Level 1: layout.css.typed-om.enabled

    Die CSS Typed Object Model Level 1 Spezifikation wird implementiert. In dieser Version wurde Unterstützung für die Methode to() der Schnittstelle CSSNumericValue hinzugefügt, die es erlaubt, einen CSS-numerischen Wert von einer Einheit in eine andere zu konvertieren. (Firefox-Bug 1278697).

  • JPEG XL Bildunterstützung: Rust-basierter Decoder: image.jxl.enabled

    Der vorherige C++ JPEG XL Bilddecoder wurde durch eine neue Rust-basierte Implementierung ersetzt, die die jxl-rs Bibliothek verwendet. (Firefox-Bug 1986393).