Firefox 122 für Entwickler
Dieser Artikel bietet Informationen zu den Änderungen in Firefox 122, die Entwickler betreffen. Firefox 122 wurde am 23. Januar 2024 veröffentlicht.
Änderungen für Webentwickler
>HTML
<hr>
-Elemente sind nun als Kinder von<select>
-Elementen erlaubt. Dies ist eine neue Funktion, die die Lesbarkeit von Auswahllisten mit vielen Optionen verbessert. (Firefox-Bug 1830909).- Das HTML-Attribut
type
hat keine Wirkung mehr, wenn es aufnone
,disc
,circle
odersquare
in<ol>
gesetzt ist, und keine Wirkung mehr, wenn es auf1
,a
,A
,i
oderI
in<ul>
gesetzt ist. Datype
ein veraltetes Attribut für<ul>
- und<ol>
-Listen ist, sollten diese stattdessen mit derlist-style-type
-Eigenschaft gestylt werden. (Firefox-Bug 1868087).
CSS
-
Die CSS-Eigenschaft
offset-position
ist jetzt standardmäßig verfügbar. Sie definiert die Anfangsposition eines Elements auf einem Pfad. (Firefox-Bug 1598152) -
Die verschiedenen Methoden zur Definition eines CSS
offset-path
— einschließlich<basic-shape>
,<coord-box>
, undurl()
— sind jetzt standardmäßig aktiviert. (Firefox-Bug 1598159) -
Die CSS-Funktion
ray()
ist jetzt standardmäßig verfügbar. Sie können diese Funktion verwenden, um einenoffset-path
als Liniensegment zu definieren, das von eineroffset-position
ausgeht und sich in die Richtung des angegebenen Winkels erstreckt. (Firefox-Bug 1598151) -
Die Eigenschaften
clip-path
undoffset-path
akzeptieren jetzt die Formfunktionenrect()
undxywh()
. Diese<basic-shape>
-Werte ermöglichen das Zuschneiden und Versetzen von Elementen mit einem Rechteck, das durch den Abstand von der Kante des Elements (rect()
) oder durch Koordinaten und Größe (xywh()
) definiert wird. (Firefox-Bug 1868722).
JavaScript
-
Die Methoden
ArrayBuffer.prototype.transfer()
undArrayBuffer.prototype.transferToFixedLength()
können jetzt verwendet werden, um Besitz von Speicher zu übertragen von einemArrayBuffer
zu einem anderen. Nach der Übertragung wird der ursprüngliche Puffer von seinem ursprünglichen Speicher getrennt und ist daher unbrauchbar; der Zustand kann mitArrayBuffer.prototype.detached
überprüft werden. (Siehe Firefox-Bug 1865103 für weitere Details.) -
Für die Gleichwertigkeit mit anderen Browsern berücksichtigen
Date.parse()
und derDate()
-Konstruktor nur die ersten drei Buchstaben des angegebenen Monats, wenn nicht standardisierte Datumszeichenfolgen geparst werden. Zuvor wurden nur abgeschnittene Werte des vollständigen Monatsnamens mit drei oder mehr Zeichen akzeptiert (Siehe Firefox-Bug 1862910 für weitere Details.)
SVG
Entfernungen
- Unterstützung für
data:
URLs in SVG<use>
-Elementen und über dieSVGUseElement
-Schnittstelle wurde entfernt, um XSS-Angriffe zu verhindern. Die alte Funktionalität kann durch Setzen der Präferenzsvg.use-element.data-url-href.allowed
auftrue
wieder aktiviert werden, obwohl dies aus Sicherheitsgründen nicht empfohlen wird (Firefox-Bug 1806964).
APIs
- Die LargestContentfulPaint API wird jetzt unterstützt. Diese API ist Teil der Performance APIs und liefert Zeitinformationen über das größte Bild oder den größten Text, der vor der Interaktion mit einer Webseite gerendert wird (Firefox-Bug 1866266).
DOM
- Die Methode
HTMLSelectElement.showPicker()
wird jetzt unterstützt und ermöglicht es, den Browser-Picker für ein<select>
-Element programmgesteuert zu starten, wenn er durch Benutzerinteraktion ausgelöst wird (Firefox-Bug 1865207).
Entfernungen
- Unterstützung für die CSS-Eigenschaft
-moz-user-focus
wurde entfernt (Firefox-Bug 1871745 und Firefox-Bug 1868552).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Ein Fehler wurde behoben, der verhinderte, dass Perform Actions Doppel- und andere Multiklick-Ereignisse für die
mouse
-Eingabequelle korrekt synthetisierte (Firefox-Bug 1864614). Zusätzlich werden diese Ereignisse nur dann ausgelöst, wenn sich die tatsächliche Mausposition seit der letzten Klickaktion nicht geändert hat (Firefox-Bug 1681076). - Die Definitionen für die Tasten
Pause
undEqual
(Nummernblock) wurden aktualisiert, um mit der WebDriver-Spezifikation übereinzustimmen (Firefox-Bug 1863687).
WebDriver BiDi
- Die Serialisierung von
WindowProxy
-Remoteobjekten funktioniert jetzt auch korrekt für Out-of-Process-Iframes (Firefox-Bug 1867667). - Der browsingContext.setViewport-Befehl unterscheidet jetzt zwischen
undefined
undnull
als Werte für dasviewport
-Argument. Wennundefined
gesetzt ist, bedeutet dies, dass das Viewport unverändert bleiben soll, währendnull
es auf seine ursprünglichen Dimensionen zurücksetzt (Firefox-Bug 1865618). - Unterstützung für den browsingContext.traverseHistory-Befehl wurde eingeführt, der Navigierungen rückwärts und vorwärts im Browserverlauf ermöglicht (Firefox-Bug 1841018).
- Ein Fehler in allen unterstützten Netzwerkereignissen wurde behoben, bei dem die
context
-ID konsequent den obersten Browsing-Kontext meldete, selbst wenn die Navigation innerhalb eines Iframes stattfand (Firefox-Bug 1869735).
Marionette
- Ein Fehler bei Get Element Text wurde behoben, bei dem der Befehl fälschlicherweise einen leeren Text zurückgab, wenn sich das Element innerhalb eines ShadowRoot-Slots befand (Firefox-Bug 1824664).
Experimentelle Web-Features
Diese Features sind neu in Firefox 122 implementiert, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie nach der entsprechenden Präferenz auf der about:config
-Seite und setzen Sie sie auf true
. Weitere solche Features finden Sie auf der Seite Experimentelle Features.
-
Deklaratives Shadow DOM:
dom.webcomponents.shadowdom.declarative.enabled
.Das
<template>
-Element unterstützt jetzt einshadowrootmode
-Attribut, das entweder aufopen
oderclosed
gesetzt werden kann, dieselben Werte wie diemode
-Option derattachShadow()
-Methode. Es ermöglicht die deklarative Erstellung eines Shadow DOM-Teilbaums. (Firefox-Bug 1712140) -
Klonbare Option und Eigenschaft für Shadow DOM.
- Die
Element.attachShadow()
-Methode unterstützt nun dieclonable
-Option, die angibt, ob das erstellte Shadow-Root klonbar ist: Der Standardwert istfalse
, aber wenntrue
gesetzt ist, wird der Shadow-Host, der mitNode.cloneNode()
oderDocument.importNode()
geklont wird, das Shadow-Root in der Kopie enthalten. - Die Schnittstelle
ShadowRoot
unterstützt jetzt die schreibgeschützte Eigenschaftclonable
. Sie gibttrue
zurück, wenn das Shadow-Root klonbar ist, undfalse
sonst. Sie gibt immertrue
zurück für Shadow-Roots, die über deklaratives Shadow DOM erstellt wurden.
Wenn ein Shadow-Root über deklaratives Shadow DOM erstellt wird, ist die
clonable
-Option standardmäßig auftrue
gesetzt, und dieclonable
-Eigenschaft gibttrue
zurück. (Firefox-Bug 1712140) - Die
-
Popover API:
dom.element.popover.enabled
.Die Anzeige von Popovers über Seiteninhalten wird nun über HTML-Attribute oder die JavaScript-API unterstützt, einschließlich des Stylings mit der CSS-Pseudoklasse
:popover-open
und erweiterter Unterstützung für das Pseudoelement::backdrop
. Weitere Details finden Sie in der Popover API Referenz. (Firefox-Bug 1823757) -
Clipboard lesen und schreiben:
dom.events.asyncClipboard.clipboardItem
,dom.events.asyncClipboard.readText
unddom.events.asyncClipboard.writeText
.Die asynchrone Clipboard API wird jetzt vollständig unterstützt, einschließlich der Methoden
read()
,readText()
undwrite()
sowie der SchnittstelleClipboardItem
. Ein Einfüge-Kontextmenü erscheint, damit der Benutzer die Daten aus der Zwischenablage bestätigen kann, wenn diese nicht von derselben Ursprungsseite stammen. (Firefox-Bug 1809106) -
Intl.Segmenter
: standardmäßig nur in Firefox Nightly aktiviert.Das
Intl.Segmenter
-Objekt ermöglicht eine genaue, locale-sensitive Textsegmentierung eines Strings. Zum Beispiel, um einen Text in Wörter zu teilen in einer Sprache, die keine Leerzeichen zur Trennung verwendet:Intl.Segmenter("ja-JP", { granularity: "word" })
. (Firefox-Bug 1423593)