Experimentelle Features in Firefox
Diese Seite listet experimentelle und teilweise implementierte Funktionen in Firefox auf, einschließlich derer für vorgeschlagene oder moderne Webplattform-Standards, zusammen mit Informationen über die Builds, in denen sie vorhanden sind, ob sie "standardmäßig" aktiviert sind oder nicht, und welche Präferenz verwendet werden kann, um sie zu aktivieren oder zu deaktivieren. Damit können Sie die Funktionen testen, bevor sie veröffentlicht werden.
Neue Funktionen erscheinen zuerst im Firefox Nightly Build, wo sie oft standardmäßig aktiviert sind. Sie propagieren später bis zur Firefox Developer Edition und schließlich zum Release-Build. Wenn eine Funktion im Release-Build standardmäßig aktiviert ist, wird sie nicht mehr als experimentell betrachtet und sollte aus dem Thema entfernt werden.
Experimentelle Funktionen können mit dem Firefox Konfigurationseditor (geben Sie about:config
in die Firefox-Adressleiste ein) aktiviert oder deaktiviert werden, indem die zugehörige Präferenz unten aufgeführt wird.
Hinweis:
Für Editoren – beim Hinzufügen von Funktionen zu diesen Tabellen versuchen Sie bitte, einen Link zum relevanten Bug oder Bugs mit [Firefox bug <number>](https://bugzil.la/<number>)
bereitzustellen.
HTML
Layout für input type="search"
Das Layout für input type="search"
wurde aktualisiert. Dies führt dazu, dass ein Suchfeld ein Lösch-Symbol hat, sobald jemand mit der Eingabe beginnt, um es an die Implementierungen anderer Browser anzupassen. (Siehe Firefox Bug 558594 für weitere Details.)
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 81 | Nein |
Developer Edition | 81 | Nein |
Beta | 81 | Nein |
Release | 81 | Nein |
Präferenzname | layout.forms.input-type-search.enabled |
Umschalten der Passwortanzeige
HTML Passworteingabe-Elemente (<input type="password">
) enthalten ein "Auge"-Symbol, das umgeschaltet werden kann, um den Passworttext anzuzeigen oder zu verbergen (Firefox Bug 502258).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 96 | Nein |
Developer Edition | 96 | Nein |
Beta | 96 | Nein |
Release | 96 | Nein |
Präferenzname | layout.forms.reveal-password-button.enabled |
CSS
Hex-Boxen zur Anzeige verwaister Steuerzeichen
Dieses Feature rendert Steuerzeichen (Unicode-Kategorie Cc) außer Tab (U+0009
), Linienvorschub (U+000A
), Formfeed (U+000C
) und Wagenrücklauf (U+000D
) als Hex-Box, wenn sie nicht erwartet werden. (Siehe Firefox Bug 1099557 für weitere Details.)
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 43 | Ja |
Developer Edition | 43 | Nein |
Beta | 43 | Nein |
Release | 43 | Nein |
Präferenzname |
layout.css.control-characters.visible
|
initial-letter Eigenschaft
Die initial-letter
CSS-Eigenschaft ist Teil der CSS Inline Layout Spezifikation und ermöglicht es Ihnen, anzugeben, wie hervorgehobene, angehobene und vertiefte Anfangsbuchstaben angezeigt werden. (Siehe Firefox Bug 1223880 für weitere Details.)
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 50 | Nein |
Developer Edition | 50 | Nein |
Beta | 50 | Nein |
Release | 50 | Nein |
Präferenzname | layout.css.initial-letter.enabled |
fit-content() Funktion
Die fit-content()
Funktion, wie sie auf width
und andere Größenangaben angewendet wird. Diese Funktion wird bereits gut für die CSS-Grid Layout-Spurengröße unterstützt. (Siehe Firefox Bug 1312588 für weitere Details.)
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 91 | Nein |
Developer Edition | 91 | Nein |
Beta | 91 | Nein |
Release | 91 | Nein |
Präferenzname | layout.css.fit-content-function.enabled |
Scroll-gesteuerte Animationen
Früher als "Scroll-gebundene Animationen" bezeichnet, hängt eine scroll-gesteuerte Animation von der Scroll-Position eines Scrollbalkens statt von der Zeit oder einer anderen Dimension ab.
Die Eigenschaften scroll-timeline-name
und scroll-timeline-axis
(und die Kurzschreibweise-Eigenschaft scroll-timeline
) ermöglichen es Ihnen, anzugeben, dass ein bestimmter Scrollbalken in einem bestimmten benannten Container als Quelle einer scroll-gesteuerten Animation verwendet werden kann.
Die Scroll-Zeitachse kann dann mit einer Animation verknüpft werden, indem die Eigenschaft animation-timeline
auf den Namen gesetzt wird, der mit scroll-timeline-name
definiert ist.
Bei der Verwendung der Kurzschreibweise-Eigenschaft scroll-timeline
muss die Reihenfolge der Eigenschaftswerte scroll-timeline-name
gefolgt von scroll-timeline-axis
sein. Die Langhand- und Kurzschreibweise-Eigenschaften sind beide hinter der Präferenz verfügbar.
Sie können alternativ die funktionale Notation scroll()
mit animation-timeline
verwenden, um anzugeben, dass eine Scrollbalkenachse in einem übergeordneten Element für die Zeitachse verwendet wird.
Für weitere Informationen siehe Firefox Bug 1807685, Firefox Bug 1804573, Firefox Bug 1809005, Firefox Bug 1676791, Firefox Bug 1754897, Firefox Bug 1817303 und Firefox Bug 1737918.
Die Eigenschaften timeline-scope
, animation-range-start
und animation-range-end
(und die Kurzschreibweise-Eigenschaft animation-range
) werden noch nicht unterstützt. Für weitere Informationen siehe Firefox Bug 1676779.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 136 | Ja |
Developer Edition | 110 | Nein |
Beta | 110 | Nein |
Release | 110 | Nein |
Präferenzname | layout.css.scroll-driven-animations.enabled |
@scope At-Regel
Die @scope CSS At-Regel ermöglicht es Ihnen, spezifische Kindelemente auszuwählen, ohne die Spezifität der CSS-Selektoren unnötig zu erhöhen (Firefox Bug 1886441).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 137 | Ja |
Developer Edition | 128 | Nein |
Beta | 128 | Nein |
Release | 128 | Nein |
Präferenzname | layout.css.at-scope.enabled |
font-variant-emoji Eigenschaft
Die CSS-Eigenschaft font-variant-emoji
ermöglicht es Ihnen, einen Standarddarstellungsstil für die Anzeige von Emojis festzulegen.
Siehe (Firefox Bug 1461589) für weitere Details.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 108 | Ja |
Developer Edition | 108 | Nein |
Beta | 108 | Nein |
Release | 108 | Nein |
Präferenzname | layout.css.font-variant-emoji.enabled |
prefers-reduced-transparency Media-Feature
Das CSS-Media-Feature prefers-reduced-transparency
ermöglicht es Ihnen zu erkennen, ob ein Benutzer die Einstellung aktiviert hat, die Menge der transparenten oder durchscheinenden Schichteffekte auf seinem Gerät zu minimieren.
Siehe (Firefox Bug 1736914) für weitere Details.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 113 | Nein |
Developer Edition | 113 | Nein |
Beta | 113 | Nein |
Release | 113 | Nein |
Präferenzname | layout.css.prefers-reduced-transparency.enabled |
inverted-colors Media-Feature
Das CSS-Media-Feature inverted-colors
lässt Sie erkennen, ob ein Benutzeragent oder das zugrunde liegende Betriebssystem die Farben invertiert.
Siehe (Firefox Bug 1794628) für weitere Details.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 114 | Nein |
Developer Edition | 114 | Nein |
Beta | 114 | Nein |
Release | 114 | Nein |
Präferenzname | layout.css.inverted-colors.enabled |
Named view progress timelines Eigenschaft
Die CSS-Eigenschaft view-timeline-name
erlaubt es Ihnen, einem bestimmten Element einen Namen zu geben, um zu kennzeichnen, dass sein übergeordnetes Scroller-Element die Quelle einer View-Progress-Timeline ist.
Der Name kann dann der animation-timeline
zugeordnet werden, die das zugehörige Element animiert, wenn es durch den sichtbaren Bereich seines übergeordneten Scrollers bewegt wird.
Siehe (Firefox Bug 1737920) für weitere Details.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 114 | Nein |
Developer Edition | 114 | Nein |
Beta | 114 | Nein |
Release | 114 | Nein |
Präferenzname | layout.css.scroll-driven-animations.enabled |
Anonyme view progress timelines Funktion
Die CSS view()
Funktion erlaubt es Ihnen, anzugeben, dass die animation-timeline
für ein Element eine View-Progress-Timeline ist, die das Element animiert, wenn es durch den sichtbaren Bereich seines übergeordneten Scrollers bewegt wird.
Die Funktion definiert die Achse des übergeordneten Elements, die die Zeitachse liefert, zusammen mit dem Rand innerhalb des sichtbaren Bereichs, an dem die Animation beginnt und beginnt.
Siehe (Firefox Bug 1808410) für weitere Details.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 114 | Nein |
Developer Edition | 114 | Nein |
Beta | 114 | Nein |
Release | 114 | Nein |
Präferenzname | layout.css.scroll-driven-animations.enabled |
Anbieter-präfixierte Transformations-Eigenschaften
Die -moz-
-präfixierten CSS-Transformations-Eigenschaften können durch Setzen der Präferenz layout.css.prefixes.transforms
auf false
deaktiviert werden. Die Absicht ist, diese zu deaktivieren, sobald die standardmäßigen CSS-Zoom-Eigenschaften gut unterstützt werden. (Firefox Bug 1886134, Firefox Bug 1855763).
Insbesondere wird diese Präferenz die folgenden präfixierten Eigenschaften deaktivieren:
-moz-backface-visibility
-moz-perspective
-moz-perspective-origin
-moz-transform
-moz-transform-origin
-moz-transform-style
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 120 | Ja |
Developer Edition | 120 | Ja |
Beta | 120 | Ja |
Release | 120 | Ja |
Präferenzname |
layout.css.prefixes.transforms
|
UA-Stile für <h1>
verschachtelt in Gliederungselementen
Die <h1>
-Überschrift wird jetzt nicht mehr in der Schriftgröße verkleinert, wenn sie innerhalb von Gliederungselementen <article>
, <aside>
, <nav>
und <section>
verschachtelt ist. Die UA-Stile für <h1>
, die in Gliederungselementen verschachtelt sind, sind nicht mehr relevant, da der Outline-Algorithmus aus der HTML-Spezifikation entfernt wurde. (Firefox Bug 1883896).
Hinweis:
Die Präferenz für dieses Feature arbeitet umgekehrt: sie ist im Nightly-Build auf false
gesetzt, was die UA-Stilierung für Überschriften, die in Gliederungselementen verschachtelt sind, entfernt. Sie ist in allen anderen Kanälen auf true
gesetzt, was die bestehende UA-Stilierung für die verschachtelten Überschriften beibehält.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 125 | Nein |
Developer Edition | 125 | Ja |
Beta | 125 | Ja |
Release | 125 | Ja |
Präferenzname |
layout.css.h1-in-section-ua-styles.enabled
|
shape()
Funktion
Die CSS shape()
Funktion ist ein <basic-shape>
Datentyp, der es Ihnen ermöglicht, eine Form in den clip-path
und offset-path
Eigenschaften unter Verwendung von einem oder mehreren "Form-Befehlen" zu definieren. Diese Befehle sind in vielerlei Hinsicht den SVG-Pfadbefehlen ähnlich. Die shape()
Funktion ähnelt in einigen Aspekten der path()
Funktion, aber im Gegensatz zu path()
, das die SVG-Pfad- Syntax verwendet, verwendet shape()
standardmäßige CSS-Syntax. Dies ermöglicht Ihnen, Formen einfach zu erstellen und zu bearbeiten und erlaubt auch die Verwendung von CSS-Mathematik-Funktionen.
Für weitere Details siehe Firefox Bug 1823463 für die Unterstützung der shape()
Funktion in clip-path
, Firefox Bug 1884424 für die Unterstützung der Funktion in offset-path
und Firefox Bug 1884425 für deren Interpolationsunterstützung.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 126 | Ja |
Developer Edition | 126 | Nein |
Beta | 126 | Nein |
Release | 126 | Nein |
Präferenzname | layout.css.basic-shape-shape.enabled |
Symmetrisches letter-spacing
Die CSS-Eigenschaft letter-spacing
teilt jetzt den angegebenen Abstand gleichmäßig auf beide Seiten jedes Zeichens auf. Das unterscheidet sich vom derzeitigen Verhalten, bei dem der Abstand hauptsächlich auf eine Seite hinzugefügt wird. Dieser Ansatz kann die Textabstände verbessern, insbesondere in gemischt-direktionalem Text Firefox Bug 1891446.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 128 | Ja |
Developer Edition | 128 | Ja |
Beta | 127 | Nein |
Release | 127 | Nein |
Präferenzname | layout.css.letter-spacing.model |
calc()
Farbkanalunterstützung in relativen Farben
Die CSS-Funktion calc()
kann jetzt Farbkanäle in relativen Farben analysieren, sodass Sie Änderungen an Farben in verschiedenen Farbräumen oder bei Verwendung von verschiedenen funktionellen Notationen korrekt berechnen können Firefox Bug 1889561.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 127 | Ja |
Developer Edition | 127 | Nein |
Beta | 127 | Nein |
Release | 127 | Nein |
Präferenzname | layout.css.relative-color-syntax.enabled |
CSS-Ankerpositionierung
Das CSS-Ankerpositionierungs-Modul definiert eine Reihe von Funktionen, die es ermöglichen, Elemente als Ankerelemente zu definieren und andere Elemente relativ zu diesen Ankerelementen zu positionieren. Dies ermöglicht es beispielsweise, dass Tooltips zusammen mit zugehörigem Inhalt angezeigt werden, während sie durch das Ansichtsfenster scrollen, bei Bedarf bewegt werden, wenn sie das Ansichtsfenster überschreiten würden, und verschwinden, wenn der Anker vom Bildschirm verschwindet. Die Menge der Funktionen wird schrittweise hinter einer Präferenz eingeführt (Firefox Bug 1838746).
Die umgesetzten Teile umfassen:
CSSPositionTryRule
undCSSPositionTryDescriptors
(Firefox 131).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 131 | Nein |
Developer Edition | 131 | Nein |
Beta | 131 | Nein |
Release | 131 | Nein |
Präferenzname | layout.css.anchor-positioning.enabled |
::details-content
Pseudoelement
Das CSS ::details-content
Pseudoelement erlaubt es Ihnen, den Inhalt des <details>
Elements zu gestalten (Firefox Bug 1901037).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 138 | Nein |
Developer Edition | 138 | Nein |
Beta | 138 | Nein |
Release | 138 | Nein |
Präferenzname | layout.css.details-content.enabled |
Erlauben von Pseudoelementen nach elementgestützten Pseudoelementen
Es wurde begonnen, das Hinzufügen von Pseudoelementen wie ::first-letter
und ::before
zu elementgestützten Pseudoelementen wie ::details-content
und ::file-selector-button
zu ermöglichen.
Dies erlaubt es Benutzern beispielsweise, den ersten Buchstaben des <details>
-Elements zu gestalten, indem sie den CSS-Selektor ::details-content::first-letter
verwenden oder Inhalte vor einem <input>
vom type="file"
hinzufügen, indem sie den CSS-Selektor ::file-selector-button::before
verwenden.
Derzeit kann nur die Unterstützung für ::details-content::first-letter
analysiert werden, indem @supports(::details-content::first-letter)
verwendet wird und die Präferenz für ::details-content Pseudoelement aktiviert sein muss, um dies zu testen. Das ::file-selector-button
Pseudoelement ist noch nicht als elementbasiertes Pseudoelement markiert, sodass es derzeit keine Möglichkeit gibt, dies zu testen. (Firefox Bug 1953557).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 138 | Nein |
Developer Edition | 138 | Nein |
Beta | 138 | Nein |
Release | 138 | Nein |
Präferenzname | layout.css.details-content.enabled |
SVG
<discard>
Element für SVG-Animationen
Das <discard>
SVG-Element wird nun unterstützt, zusammen mit seiner entsprechenden SVGDiscardElement
JavaScript-Schnittstelle.
Das Element ermöglicht es Entwicklern, eine Triggerzeit oder ein Ereignis anzugeben, zu dem ein bestimmtes Element und seine Kinder aus dem DOM entfernt werden sollen.
Ein SVG-Viewer kann diese Informationen verwenden, um Speicher zu sparen, indem nicht mehr benötigte Elemente verworfen werden, wie z.B. animierte Elemente, die abgeschlossen sind.
(Firefox Bug 1069931).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 136 | Nein |
Developer Edition | 136 | Nein |
Beta | 136 | Nein |
Release | 136 | Nein |
Präferenzname | svg.discard.enabled |
JavaScript
Temporal API
Das Temporal-Objekt zielt darauf ab, die Arbeit mit Daten und Zeiten in verschiedenen Szenarien zu vereinfachen, mit eingebauten Zeitzonen- und Kalenderdarstellungen (Firefox Bug 1912511). Dazu gehören:
- Eine Dauer (Unterschied zwischen zwei Zeitpunkten):
Temporal.Duration
- Punkte in der Zeit:
- Als einzigartiges Ereignis in der Geschichte:
- Ein Zeitstempel:
Temporal.Instant
- Ein Datum-Uhrzeit mit einer Zeitzone:
Temporal.ZonedDateTime
- Ein Zeitstempel:
- Zeitzonen-unbewusstes Datum/Uhrzeit ("Plain"):
- Datum (Jahr, Monat, Tag) + Zeit (Stunde, Minute, Sekunde, Millisekunde, Nanosekunde):
Temporal.PlainDateTime
- Datum (Jahr, Monat, Tag):
Temporal.PlainDate
- Jahr, Monat:
Temporal.PlainYearMonth
- Monat, Tag:
Temporal.PlainMonthDay
- Jahr, Monat:
- Zeit (Stunde, Minute, Sekunde, Millisekunde, Nanosekunde):
Temporal.PlainTime
- Datum (Jahr, Monat, Tag):
- Datum (Jahr, Monat, Tag) + Zeit (Stunde, Minute, Sekunde, Millisekunde, Nanosekunde):
- Als einzigartiges Ereignis in der Geschichte:
- Jetzt (aktuelle Uhrzeit) als verschiedene Klasseninstanzen oder in einem bestimmten Format:
Temporal.Now
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 137 | Ja |
Developer Edition | 137 | Nein |
Beta | 137 | Nein |
Release | 137 | Nein |
Präferenzname | javascript.options.experimental.temporal |
APIs
CloseWatcher Schnittstelle
Eingebaute Webkomponenten mit "open" und "close" Semantik, wie modale Dialoge und Popups, können mithilfe von gerätenativen Mechanismen geschlossen werden. Zum Beispiel können Sie auf Android einen Dialog mit der Zurück-Taste schließen. Die CloseWatcher
Schnittstelle erlaubt es Entwicklern, UI-Komponenten zu implementieren, wie z.B. benutzerdefinierte Seitenleisten, die auf ähnliche Weise mit nativen Mechanismen geschlossen werden können. (Firefox Bug 1888729).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 132 | Nein |
Developer Edition | 132 | Ja |
Beta | 132 | Ja |
Release | 132 | Nein |
Präferenzname | dom.closewatcher.enabled |
Trusted Types API
Die Trusted Types API bietet Mechanismen, um sicherzustellen, dass Funktionen, die potenziell als Vektoren für XSS-Angriffe genutzt werden könnten, nur mit Daten aufgerufen werden können, die validiert oder bereinigt wurden.
Hinweis: Zum Zeitpunkt des Schreibens wurde noch nicht genügend der API implementiert, um sie effektiv testen zu können. Diese Anmerkung wird entfernt, sobald sie einsatzbereit ist.
Diese Teilmenge der API wurde implementiert:
TrustedTypePolicyFactory
:- Die Methoden
write()
undwriteln()
derDocument
Schnittstelle akzeptieren jetzt zusätzlich zu Strings auchTrustedHTML
Objekte als Parameter. (Firefox Bug 1906301). - Die Eigenschaften
text
,innerText
, undtextContent
derHTMLScriptElement
Schnittstelle akzeptieren nunTrustedScript
Objekte als Wert, währendsrc
TrustedScriptURL
Werte akzeptiert. (Firefox Bug 1905706). - Die Methoden
Window.setInterval()
undWindow.setTimeout()
können mit einemTrustedScript
aufgerufen werden. (Firefox Bug 1931290). - Die globale Eigenschaft
trustedTypes
steht zum Zugriff auf die Trusted Types API zur Verfügung. - Die Eigenschaften
Element.innerHTML
undShadowRoot.innerHTML
können mit trusted types aufgerufen werden.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 133 | Nein |
Developer Edition | 133 | Nein |
Beta | 133 | Nein |
Release | 133 | Nein |
Präferenzname | dom.security.trusted_types.enabled |
HTML Sanitizer API
Die HTML Sanitizer API ermöglicht es Entwicklern, unzuverlässige HTML-Strings zu nehmen und sie zu bereinigen, sodass sie sicher in das DOM eines Dokuments eingefügt werden können.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 138 | Nein |
Developer Edition | 138 | Nein |
Beta | 138 | Nein |
Release | 138 | Nein |
Präferenzname | dom.security.sanitizer.enabled |
Entfernung von MutationEvent
MutationEvent
und die zugehörigen Ereignisse (DOMSubtreeModified
, DOMNodeInserted
, DOMNodeRemoved
, DOMCharacterDataModified
, DOMAttrModified
) stehen zur Entfernung an und sind im Nightly deaktiviert worden. (Firefox Bug 1951772).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 138 | Nein |
Developer Edition | 138 | Ja |
Beta | 138 | Ja |
Release | 138 | Ja |
Präferenzname | dom.mutation_events.enabled |
PerformanceEventTiming.interactionId
PerformanceEventTiming.interactionId
kann verwendet werden, um Latenzzeiten für Ereignisse zu messen, die durch eine bestimmte Benutzerinteraktion ausgelöst werden. (Firefox Bug 1934683).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 138 | Nein |
Developer Edition | 138 | Nein |
Beta | 138 | Nein |
Release | 138 | Nein |
Präferenzname | dom.performance.event_timing.enable_interactionid |
Notification.actions
Die schreibgeschützte Eigenschaft actions
der Notification
Schnittstelle wird in Nightly unterstützt. Diese enthält Benachrichtigungsaktionen, die mit ServiceWorkerRegistration.showNotification()
festgelegt wurden. (Firefox Bug 1225110).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 138 | |
Developer Edition | 138 | Nein |
Beta | 138 | Nein |
Release | 138 | Nein |
Präferenzname | dom.webnotifications.actions.enabled |
Grafik: Canvas, WebGL und WebGPU
WebGL: Entwurfs-Erweiterungen
Wenn diese Präferenz aktiviert ist, werden alle WebGL-Erweiterungen, die sich derzeit im "Entwurf"-Status befinden und getestet werden, zur Nutzung aktiviert. Derzeit werden keine WebGL-Erweiterungen von Firefox getestet.
WebGPU API
Die WebGPU API bietet niedrigstufige Unterstützung für die Durchführung von Berechnungen und Grafikdarstellungen unter Nutzung der Graphics Processing Unit (GPU) des Benutzergeräts oder -computers. Sehen Sie sich den Firefox Bug 1602129 für unseren Fortschritt zu dieser API an.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 113 | Ja |
Developer Edition | 73 | Nein |
Beta | 73 | Nein |
Release | 73 | Nein |
Präferenzname | dom.webgpu.enabled |
Reporting API-Unterstützung für CSP-Verletzungen
Die Reporting API unterstützt jetzt das Melden von Content Security Policy (CSP) Verletzungen.
Report
Instanzen, die von der ReportingObserver
Schnittstelle zurückgegeben werden, können nun einen type
Wert von "csp-violation"
haben und eine body
-Eigenschaft, die eine Instanz der CSPViolationReportBody
Schnittstelle enthält. Dies ermöglicht es, CSP-Verletzungen innerhalb einer Webseite zu melden.
CSP-Verletzungsberichte können auch an entfernte Endpunkte gesendet werden, die im CSP report-to
-Directive namentlich spezifiziert sind – Endpunktenamen und entsprechende URLs müssen zuerst in den Reporting-Endpoints
oder Report-To
HTTP-Antwort-Headern definiert werden. Der Bericht ist eine Serialisierung des oben beschriebenen Report
Objekts, mit einer body
-Eigenschaft, die eine Serialisierung einer CSPViolationReportBody
Instanz ist.
Diese Verletzungsberichte ersetzen einen ähnlichen CSP-spezifischen Mechanismus für das Senden von Verletzungsberichten, der die CSP report-uri
-Richtlinie verwendet, um die URL des Berichts-Endpunkts festzulegen, und ein CSP-spezifisches JSON-Verletzungsberichts-Format hat. (Firefox Bug 1391243).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 130 | Nein |
Developer Edition | 130 | Nein |
Beta | 130 | Nein |
Release | 130 | Nein |
Präferenzname | dom.reporting.enabled |
WebRTC und Medien
Die folgenden experimentellen Funktionen beinhalten diejenigen, die im WebRTC API, Web Audio API, Media Source Extensions API, Encrypted Media Extensions API und Media Capture and Streams API zu finden sind.
Asynchrone SourceBuffer hinzufügen und entfernen
Dies fügt die auf Versprechen basierenden Methoden appendBufferAsync()
und removeAsync()
zum Hinzufügen und Entfernen von Mediendatenpuffern zur SourceBuffer
Schnittstelle hinzu. Weitere Informationen finden Sie im Firefox Bug 1280613 und Firefox Bug 778617.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 62 | Nein |
Developer Edition | 62 | Nein |
Beta | 62 | Nein |
Release | 62 | Nein |
Präferenzname | media.mediasource.experimental.enabled |
AVIF Konformitätsstriktheit
Die image.avif.compliance_strictness
Präferenz kann verwendet werden, um die Striktheit zu steuern, die beim Verarbeiten von AVIF Bildern angewendet wird. Dies ermöglicht es Firefox-Nutzern, Bilder anzuzeigen, die in einigen anderen Browsern gerendert werden, selbst wenn sie nicht strikt konform sind.
Erlaubte Werte sind:
0
: Akzeptieren von Bildern mit Verstößen gegen sowohl Empfehlungen ("sollte"-Sprache) als auch Anforderungen ("muss"-Sprache), vorausgesetzt, sie können sicher oder eindeutig interpretiert werden.1
(Standard): Ablehnen von Anforderungen-Verstößen, aber Zulassen von Empfehlungs-Verstößen.2
: Strikt. Ablehnen von allen Anforderungen- oder Empfehlungs-Verstößen.
Release-Kanal | Hinzugefügte Version | Standardwert |
---|---|---|
Nightly | 92 | 1 |
Developer Edition | 92 | 1 |
Beta | 92 | 1 |
Release | 92 | 1 |
Präferenzname | image.avif.compliance_strictness |
JPEG XL Unterstützung
Firefox unterstützt JPEG XL Bilder, wenn diese Funktion aktiviert ist. Weitere Details finden Sie im Firefox Bug 1539075.
Beachten Sie, dass die Funktion, wie unten gezeigt, nur in Nightly-Builds verfügbar ist (unabhängig davon, ob die Präferenz gesetzt ist).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 90 | Nein |
Developer Edition | — | — |
Beta | — | — |
Release | — | — |
Präferenzname | image.jxl.enabled |
CSS Custom Highlight API
Die CSS Custom Highlight API bietet einen Mechanismus zur Gestaltung beliebiger Textranges in einem Dokument (verallgemeinert das Verhalten anderer Highlight-Pseudoelemente wie ::selection
, ::spelling-error
, ::grammar-error
, und ::target-text
). Die Ranges werden in JavaScript mithilfe von Range
Instanzen, die in einem Highlight
gruppiert sind, definiert und dann mit einem Namen mit HighlightRegistry
registriert. Das CSS ::highlight
Pseudoelement wird verwendet, um Stile auf ein registriertes Highlight anzuwenden. Weitere Details finden Sie im Firefox Bug 1703961.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 117 | Ja |
Developer Edition | 117 | Nein |
Beta | 117 | Nein |
Release | 117 | Nein |
Präferenzname | dom.customHighlightAPI.enabled |
WebVR API
WebVR API (Deaktiviert)
Die veraltete WebVR API steht zur Entfernung an. Sie ist standardmäßig in allen Builds deaktiviert Firefox Bug 1750902.
Release-Kanal | Entfernte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 98 | Nein |
Developer Edition | 98 | Nein |
Beta | 98 | Nein |
Release | 98 | Nein |
Präferenzname | dom.vr.enabled |
HTML DOM API
Selektionen, die die Shadow-DOM-Grenze überschreiten
Die Methode Selection.getComposedRanges()
kann verwendet werden, um ein Array von StaticRange
Objekten zu erhalten, die den aktuellen ausgewählten Bereich oder Bereiche repräsentieren. Im Gegensatz zu Selection.getRangeAt()
kann diese Methode Ranges zurückgeben, bei denen der Anker oder Fokus-Knoten sich innerhalb eines Shadow DOMs befindet, jedoch nur, wenn ihr die ShadowRoot
Objekte übergeben werden, die diese Knoten enthalten. Andernfalls wird ein Range zurückgegeben, das neu auf den Host-Knoten des Shadow-Roots zurückgeführt wurde, das den Knoten enthält. Die Selection
Methoden setBaseAndExtent()
, collapse()
und extend()
wurden ebenfalls geändert, um Knoten innerhalb eines Shadow-Roots zu akzeptieren.
Benutzerauswahlen per Maus, Tastatur usw. können irgendwo im Dokument beginnen und enden, auch innerhalb einer offenen oder geschlossenen Shadow-Struktur. (Firefox Bug 1867058).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 126 | Ja |
Developer Edition | 126 | Nein |
Beta | 126 | Nein |
Release | 126 | Nein |
Präferenzname | dom.shadowdom.selection_across_boundary.enabled |
HTMLMediaElement Eigenschaften: audioTracks und videoTracks
Das Aktivieren dieser Funktion fügt die Eigenschaften HTMLMediaElement.audioTracks
und HTMLMediaElement.videoTracks
zu allen HTML-Medienelementen hinzu. Da Firefox jedoch derzeit keine Unterstützung für mehrere Audio- und Videospuren bietet, funktionieren die gängigsten Anwendungsfälle für diese Eigenschaften nicht, sodass sie beide standardmäßig deaktiviert sind. Weitere Details finden Sie im Firefox Bug 1057233.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 33 | Nein |
Developer Edition | 33 | Nein |
Beta | 33 | Nein |
Release | 33 | Nein |
Präferenzname | media.track.enabled |
GeometryUtils Methoden: convertPointFromNode(), convertRectFromNode(), und convertQuadFromNode()
Die GeometryUtils
Methoden convertPointFromNode()
, convertRectFromNode()
, und convertQuadFromNode()
ordnen den angegebenen Punkt, das Rechteck oder das Viereck vom Node
, auf dem sie aufgerufen werden, einem anderen Knoten zu. (Weitere Details finden Sie im Firefox Bug 918189).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 31 | Ja |
Developer Edition | 31 | Nein |
Beta | 31 | Nein |
Release | 31 | Nein |
Präferenzname | layout.css.convertFromNode.enable |
GeometryUtils Methode: getBoxQuads()
Die GeometryUtils
Methode getBoxQuads()
gibt die CSS-Boxen für einen Node
relativ zu jedem anderen Knoten oder Viewport zurück. (Weitere Informationen finden Sie im Firefox Bug 917755).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 31 | Ja |
Developer Edition | 31 | Nein |
Beta | 31 | Nein |
Release | 31 | Nein |
Präferenzname | layout.css.getBoxQuads.enabled |
Payment Request API
Primäre Zahlungsabwicklung
Die Payment Request API bietet Unterstützung für die Abwicklung von webbasierten Zahlungen innerhalb von Webinhalten oder Apps. Aufgrund eines Fehlers, der beim Testen der Benutzeroberfläche aufgetreten ist, haben wir beschlossen, die Lieferung dieser API zu verschieben, während Diskussionen über mögliche Änderungen an der API laufen. Die Arbeiten sind im Gange. (Weitere Informationen finden Sie im Firefox Bug 1318984).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 55 | Nein |
Developer Edition | 55 | Nein |
Beta | 55 | Nein |
Release | 55 | Nein |
Präferenzname |
dom.payments.request.enabled unddom.payments.request.supportedRegions
|
WebShare API
Die Web Share API ermöglicht das Teilen von Dateien, URLs und anderen Daten von einer Seite. Diese Funktion ist auf Android in allen Builds aktiviert, jedoch hinter einer Präferenz auf dem Desktop versteckt (es sei denn, unten angegeben).
Release-Kanal | Geänderte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 71 | Nein (Standard). Ja (Windows ab Version 92) |
Developer Edition | 71 | Nein |
Beta | 71 | Nein |
Release | 71 | Nein (Desktop). Ja (Android). |
Präferenzname | dom.webshare.enabled |
Screen Orientation API
ScreenOrientation.lock()
Die Methode ScreenOrientation.lock()
erlaubt es, ein Gerät auf eine bestimmte Ausrichtung zu sperren, wenn dies durch das Gerät unterstützt und von den Vorverriegelungsanforderungen des Browsers erlaubt wird. Typischerweise ist das Sperren der Ausrichtung nur auf mobilen Geräten erlaubt, wenn das Dokument im Vollbildmodus angezeigt wird. Weitere Details finden Sie im Firefox Bug 1697647.
Release-Kanal | Geänderte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 111 | Ja |
Developer Edition | 97 | Nein |
Beta | 97 | Nein |
Release | 97 | Nein |
Präferenzname | dom.screenorientation.allow-lock |
Priorisierte Aufgabenplanung API
Die Prioritized Task Scheduling API bietet eine standardisierte Möglichkeit, alle Aufgaben einer Anwendung zu priorisieren, unabhängig davon, ob sie im Code eines Webseitenentwicklers oder in Bibliotheken und Frameworks von Drittanbietern definiert sind. (Firefox Bug 1734997)
Diese Funktion wurde in Firefox Nightly in Firefox 101 aktiviert. Die Unterstützung in Firefox Nightly 135 wurde vorübergehend deaktiviert, um Probleme in der freien Wildbahn zu vermeiden.
Release-Kanal | Geänderte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 101 | Nein |
Developer Edition | 101 | Nein |
Beta | 101 | Nein |
Release | 101 | Nein |
Präferenzname | dom.enable_web_task_scheduling |
Notifications API
Benachrichtigungen haben die requireInteraction
Eigenschaft standardmäßig auf Wahr gesetzt auf Windows-Systemen und in der Nightly-Version (Firefox Bug 1794475).
Release-Kanal | Geänderte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 117 | Ja |
Developer Edition | 117 | Nein |
Beta | 117 | Nein |
Release | 117 | Windows only |
Präferenzname | dom.webnotifications.requireinteraction.enabled |
Sicherheit und Datenschutz
Blockieren von Klartextanfragen von Flash auf verschlüsselten Seiten
Um MitM-Angriffe zu mildern, die durch Flash-Inhalte auf verschlüsselten Seiten verursacht werden, wurde eine Präferenz hinzugefügt, um OBJECT_SUBREQUEST
s als aktive Inhalte zu behandeln. Weitere Details finden Sie im Firefox Bug 1190623.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 59 | Nein |
Developer Edition | 59 | Nein |
Beta | 59 | Nein |
Release | 59 | Nein |
Präferenzname |
security.mixed_content.block_object_subrequest
|
Label für unsichere Seiten
Die beiden security.insecure_connection_text_*
Präferenzen fügen ein "Nicht sicher"-Textlabel in der Adressleiste neben dem traditionellen Schlosssymbol hinzu, wenn eine Seite unsicher geladen wird (d.h. unter Verwendung von HTTP anstelle von HTTPS). Die browser.urlbar.trimHttps
Präferenz kürzt das https:
-Präfix in URLS der Adressleiste. Weitere Details finden Sie im Firefox Bug 1853418.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 121 | Ja |
Developer Edition | 60 | Nein |
Beta | 60 | Nein |
Release | 60 | Nein |
Präferenzname |
security.insecure_connection_text.enabled für normalen Browsingmodus;
security.insecure_connection_text.pbmode.enabled für privaten Browsingmodus
browser.urlbar.trimHttps um das https Präfix zu kürzen
|
Berechtigungsrichtlinie / Feature-Policy
Permissions Policy ermöglicht es Webentwicklern, das Verhalten bestimmter Funktionen und APIs im Browser selektiv zu aktivieren, zu deaktivieren und zu ändern. Sie ist der CSP ähnlich, kontrolliert jedoch Features anstelle von Sicherheitsverhalten. Dies ist in Firefox als Feature Policy implementiert, dem Namen, der in einer früheren Version der Spezifikation verwendet wurde.
Beachten Sie, dass unterstützte Richtlinien durch das allow
Attribut bei <iframe>
Elementen gesetzt werden können, auch wenn die Benutzerpräferenz nicht gesetzt ist.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 65 | Nein |
Developer Edition | 65 | Nein |
Beta | 65 | Nein |
Release | 65 | Nein |
Präferenzname |
dom.security.featurePolicy.header.enabled
|
Privacy Preserving Attribution API (PPA)
PPA API bietet eine Alternative zum Nutzer-Tracking für die Werbeattribution mit dem neuen navigator.privateAttribution
Objekt mit saveImpression()
und measureConversion()
Methoden. Lesen Sie mehr über die PPA in der Erklärung. Dieses Experiment kann für Websites über origin trial oder im Browser durch Setzen der Präferenz auf 1
aktiviert werden. (Firefox Bug 1900929).
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 128 | Nein |
Developer Edition | 128 | Nein |
Beta | 128 | Nein |
Release | 128 | Nein |
Präferenzname |
dom.origin-trials.private-attribution.state
|
HTTP
Accept-Header mit MIME-Typ image/jxl
Der HTTP Accept
Header in Standardanfragen und Bildanfragen kann über eine Präferenz konfiguriert werden, um Unterstützung für den image/jxl
MIME-Typ anzuzeigen.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 128 | Nein |
Developer Edition | 128 | Nein |
Beta | 128 | Nein |
Release | 128 | Nein |
Präferenzname |
image.jxl.enabled
|
SameSite=Lax als Standard
SameSite
cookies haben einen Standardwert von Lax
. Mit dieser Einstellung werden Cookies nur gesendet, wenn ein Benutzer zur Ursprungsseite navigiert, nicht für Cross-Site-Subanfragen, um Bilder oder Rahmen auf einer Drittanbieter-Seite zu laden und so weiter. Weitere Details finden Sie im Firefox Bug 1617609.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 69 | Nein |
Developer Edition | 69 | Nein |
Beta | 69 | Nein |
Release | 69 | Nein |
Präferenzname | network.cookie.sameSite.laxByDefault |
Access-Control-Allow-Headers Wildcard deckt Authorization nicht ab
Der Access-Control-Allow-Headers
ist ein Antwort-Header auf eine CORS-Akzeptanzanfrage, der anzeigt, welche Anforderungs-Header in der endgültigen Anforderung enthalten sein dürfen. Die Antwortdirektive kann einen Platzhalter (*
) enthalten, der angibt, dass die endgültige Anforderung alle Header außer dem Authorization
-Header enthalten darf.
Standardmäßig enthält Firefox den Authorization
-Header in der endgültigen Anforderung, nachdem eine Antwort mit Access-Control-Allow-Headers: *
empfangen wurde. Setzen Sie die Präferenz auf false
, damit Firefox sicherstellt, dass der Authorization
-Header nicht enthalten ist. Weitere Details finden Sie im Firefox Bug 1687364.
Release-Kanal | Hinzugefügte Version | Standardmäßig aktiviert? |
---|---|---|
Nightly | 115 | Ja |
Developer Edition | 115 | Ja |
Beta | 115 | Ja |
Release | 115 | Ja |
Präferenzname | network.cors_preflight.authorization_covered_by_wildcard |
Entwicklerwerkzeuge
Mozillas Entwicklerwerkzeuge entwickeln sich ständig weiter. Wir experimentieren mit neuen Ideen, fügen neue Funktionen hinzu und testen sie auf den Nightly- und Developer Edition-Kanälen, bevor wir sie in die Beta- und Releasestäbe lassen. Die unten stehenden Funktionen sind die aktuelle Ernte experimenteller Entwicklerwerkzeuge.