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 Versionshinweise für Entwickler (Stable)

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 jetzt den Wert hint. Popovers mit dem hint-Wert schließen keine auto-Popovers, wenn sie angezeigt werden, schließen jedoch andere Hinweis-Popovers. (Firefox Bug 1867743).

MathML

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

CSS

JavaScript

APIs

DOM

Medien, WebRTC und Web Audio

  • Die Methode HTMLMediaElement.captureStream() wird jetzt unterstützt. Diese gibt ein Objekt zurück, das die Echtzeitaufnahme der Inhalte im Element streamt. Der Stream kann zum Beispiel als Quelle für eine WebRTC RTCPeerConnection verwendet werden. Zuvor war captureStream() nur als nicht-standardisierte mozCaptureStream() Methode verfügbar. (Firefox Bug 2017708).

  • MediaElementAudioSourceNode beachtet nun die Lautstärke des Medienelements beim Erfassen von Audio für alle Arten von Quellen (wie in der Spezifikation gefordert). Zuvor beeinflusste das Einstellen der Lautstärke des Elements nicht die erfasste Audioausgabe für MediaStream Quellen. (Firefox Bug 2010427).

  • Die Methode HTMLMediaElement.mozCaptureStream() erfasst jetzt rohes Audio von der Quelle ohne Anwendung der Lautstärke des Medienelements, unabhängig vom Typ der Quelle, die das Medienelement abspielt (wie in der Spezifikation gefordert). 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

  • Aktualisierte die Screenshot-Implementierungen für sowohl das WebDriver BiDi als auch das klassische WebDriver-Protokoll, um korrekt einen Fehler zurückzugeben, wenn der angeforderte Screenshot-Bereich die maximal unterstützten Dimensionen überschreitet, anstatt ihn stillschweigend zu beschneiden. (Firefox Bug 1994148).
  • Aktualisierte die Aktionen-Implementierung für sowohl das WebDriver BiDi als auch das klassische WebDriver-Protokoll, um eine scroll Aktion des Eingabequellentyps wheel zu ermöglichen, die mehr als die visuellen Ansichtport-Dimensionen scrollt. (Firefox Bug 1962355).

WebDriver BiDi

  • Unterstützung für die automatische Benutzeraufforderungsbehandlung hinzugefügt, die über Fähigkeiten mit dem session.new-Kommando konfiguriert werden kann. (Firefox Bug 1905086).
  • Der Befehl browser.setDownloadBehavior wurde hinzugefügt, der es Kunden ermöglicht, Downloads zu erlauben oder zu verbieten und auch einen benutzerdefinierten Download-Ordner festzulegen. Dieses Verhalten kann pro Session oder pro Benutzerkontext konfiguriert werden. (Firefox Bug 1989022).
  • Die Ereignisse script.realmCreated und script.realmDestroyed für Arbeiter-Realms (für dedizierte, geteilte und Dienst-Arbeiter) hinzugefügt. (Firefox Bug 1936770).
  • Ein Problem behoben, bei dem die Ereignisse browsingContext.userPromptOpened und browsingContext.userPromptClosed falsch die Kontext-ID des Top-Level-Kontextes anstatt der Kontext-ID des Iframes auf Android berichteten. (Firefox Bug 2007385).
  • Die Serialisierung für DOM-Knoten korrigiert, um das Exponieren von benutzerspezifischen Schattenwurzeln zu verhindern. (Firefox Bug 2016673).
  • Die Logik zur Anwendung unterschiedlicher Einstellungen auf neue Durchsuchungskontexte aktualisiert, um sicherzustellen, dass beim Erstellen eines Durchsuchungskontextes mit dem window.open-Kommando Emulationen, Ansichtport-Überschreibungen und Preload-Skripte vor der Rückkehr des Befehls angewendet werden. (Firefox Bug 1985997, Firefox Bug 2005546 und Firefox Bug 2005558).

Marionette

  • Mehrere klassische WebDriver-Befehle verbessert, um implizite und pageLoad-Timeouts im Einklang mit dem Skript-Timeout zu handhaben, sodass null-Werte die Timeouts deaktivieren können. (Firefox Bug 2008345).

Änderungen für Add-on-Entwickler

  • Fügt erste Unterstützung für geteilte Ansicht hinzu. Diese Unterstützung umfasst:

  • Unterstützt tabId als Parameter auf oberster Ebene in action.isEnabled und browserAction.isEnabled. Diese Änderung sorgt für Kompatibilität mit der Chrome-Implementierung von action.isEnabled. (Firefox Bug 2013477)

  • Ein Benutzer-Geste ist nicht mehr erforderlich, damit action.openPopup und browserAction.openPopup ein Popup öffnen. Diese Funktion war hinter der extensions.openPopupWithoutUserGesture.enabled Präferenz von Firefox 108 verfügbar. Diese Änderung vereinheitlicht das Verhalten von Firefox mit Chrome und Safari. (Firefox Bug 1799344)

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

  • Die Implementierung von structuredClone wurde geändert, damit Objekte im this-Real statt im Real des Anrufers instanziiert werden. Aus Gründen der Rückwärtskompatibilität umfasst der globale Umfang der Inhalts-Skripte jetzt eine eigene structuredClone-Methode, die die window.structuredClone Methode überschattet. Weitere Informationen finden Sie unter structuredClone in Sharing objects with page scripts.

  • Die Fähigkeit von Erweiterungen, Code in ihren moz-extension: Dokumenten dynamisch mit tabs.executeScript, tabs.insertCSS, tabs.removeCSS, scripting.executeScript, scripting.insertCSS und scripting.removeCSS auszuführen, wird nicht mehr unterstützt. (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 für alle Versionen von Firefox 152 und höher gelten. (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 wird und dann eine Nachricht gesendet wird, um die Ausführung des benötigten Codes auszulösen.

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

Experimentelle Webfeatures

Diese Funktionen werden in Firefox 149 bereitgestellt, sind aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie auf der about:config Seite nach der entsprechenden Präferenz und setzen Sie diese auf true. Weitere solche Funktionen finden Sie auf der Experimentelle Funktionen Seite.

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

    Die attr() CSS-Funktion unterstützt jetzt <attr-type> Werte. Dies ermöglicht es Ihnen, zu spezifizieren, wie ein Attributwert in einen CSS-Wert geparst wird und diese Werte direkt von data-* zu beziehen. (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, nicht nur zwei. Dies ermöglicht es Ihnen, viele Farben zu mischen und die Prozentsätze jeder Farbe festzulegen. (Firefox Bug 2007772).

  • Medienbasierte Pseudoklassen: 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 Status zu stylen, wie z.B. abspielend oder pausiert. (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).

  • @container style() Abfragen (Nightly): layout.css.style-queries.enabled

    Die @container CSS-Regel unterstützt style() Abfragen. Dies ermöglicht es Ihnen, 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 to() Methode der CSSNumericValue Schnittstelle hinzugefügt, die die Umrechnung eines CSS-numerischen Wertes von einer Einheit in eine andere ermöglicht. (Firefox Bug 1278697).

  • JPEG XL Bildunterstützung: Rust-basierter Decoder (nur Nightly): image.jxl.enabled

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