Firefox 122 Versionshinweise für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 122, die Entwickler betreffen. Firefox 122 wurde am 23. Januar 2024 veröffentlicht.
Änderungen für Webentwickler
>HTML
<hr>-Elemente sind jetzt als Kinder von<select>-Elementen erlaubt. Dies ist eine neue Funktion, die die Lesbarkeit von Auswahllisten mit vielen Optionen verbessert. (Firefox-Bug 1830909).- Das
type-HTML-Attribut hat keine Wirkung mehr, wenn es aufnone,disc,circleodersquarein<ol>gesetzt ist, und keine Wirkung mehr, wenn es auf1,a,A,ioderIin<ul>gesetzt ist. Datypeein veraltetes Attribut für<ul>- und<ol>-Listen ist, sollten diese stattdessen mit derlist-style-type-CSS-Eigenschaft gestylt werden. (Firefox-Bug 1868087).
CSS
-
Die CSS-Eigenschaft
offset-positionist 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-pathals Liniensegment zu definieren, das von eineroffset-positionbeginnt und in Richtung des angegebenen Winkels verläuft. (Firefox-Bug 1598151) -
Die Eigenschaften
clip-pathundoffset-pathakzeptieren jetzt die Formfunktionenrect()undxywh(). Diese<basic-shape>-Werte ermöglichen das Zuschneiden und Versetzen von Elementen mit einem Rechteck, das durch den Abstand vom Rand 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 den Besitz von Speicher von einemArrayBufferzu einem anderen zu übertragen. Nach der Übertragung ist der ursprüngliche Buffer von seinem ursprünglichen Speicher getrennt und daher unbenutzbar; der Zustand kann mitArrayBuffer.prototype.detachedüberprüft werden. (Weitere Details finden Sie im Firefox-Bug 1865103). -
Zur Parität 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 Legacy-Funktionalität kann durch Setzen dersvg.use-element.data-url-href.allowed-Präferenz auftruewieder aktiviert werden, obwohl dies aus Sicherheitsgründen nicht empfohlen wird (Firefox-Bug 1806964).
APIs
- Die LargestContentfulPaint API wird nun unterstützt. Diese API ist Teil der Performance APIs und bietet Timing-Informationen über das größte Bild oder den größten Text, der gerendert wird, bevor Benutzer mit einer Webseite interagieren (Firefox-Bug 1866266).
DOM
- Die Methode
HTMLSelectElement.showPicker()wird nun 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-focuswurde entfernt (Firefox-Bug 1871745 und Firefox-Bug 1868552).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Ein Fehler wurde behoben, der verhinderte, dass Execute Actions Doppelklick- und andere Mehrfachklick-Ereignisse für die
mouse-Eingabequelle korrekt synthetisierte (Firefox-Bug 1864614). Zusätzlich werden diese Ereignisse nur ausgegeben, wenn sich die tatsächliche Mausposition seit der letzten Klickaktion nicht geändert hat (Firefox-Bug 1681076). - Die Definitionen für die Tasten
PauseundEqual(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 Befehl browsingContext.setViewport unterscheidet nun zwischen
undefinedundnullals Werte für dasviewport-Argument. Wird es aufundefinedgesetzt, bedeutet dies, dass der Viewport unverändert bleiben soll, während die Verwendung vonnullden Viewport auf seine ursprünglichen Abmessungen zurücksetzt (Firefox-Bug 1865618). - Unterstützung für den Befehl browsingContext.traverseHistory wurde eingeführt, um Navigationsbewegungen rückwärts und vorwärts in der Browser-Historie zu ermöglichen (Firefox-Bug 1841018).
- Ein Fehler in allen unterstützten Netzwerkereignissen wurde behoben, bei dem die
context-ID konsequent den Top-Level-Browsing-Kontext meldete, auch wenn die Navigation innerhalb eines iframes erfolgte (Firefox-Bug 1869735).
Marionette
- Ein Fehler mit 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-Funktionen
Diese Funktionen sind neu in Firefox 122 enthalten, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie nach der entsprechenden Präferenz auf der about:config-Seite und setzen Sie sie auf true. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
Deklaratives Shadow DOM:
dom.webcomponents.shadowdom.declarative.enabled.Das
<template>-Element unterstützt jetzt einshadowrootmode-Attribut, das entweder aufopenoderclosedgesetzt werden kann, dieselben Werte wie diemode-Option der MethodeattachShadow(). Es ermöglicht die Erstellung eines Shadow-DOM-Teilbaums deklarativ. (Firefox-Bug 1712140) -
Klone-Option und -Eigenschaft für Shadow DOM.
- Die Methode
Element.attachShadow()unterstützt jetzt die boolesche Optionclonable, die angibt, ob die erstellte Shadow-Root klonbar ist: Der Standardwert istfalse, aber wenn er auftruegesetzt ist, wird der Shadow-Host, der mitNode.cloneNode()oderDocument.importNode()geklont wird, das Shadow-Root in die Kopie einschließen. - Die Schnittstelle
ShadowRootunterstützt jetzt die schreibgeschützte Eigenschaftclonable. Sie gibttruezurück, wenn das Shadow-Root klonbar ist, undfalseansonsten. Sie gibt immertruefür Shadow-Roots, die über deklaratives Shadow DOM erstellt wurden.
Wenn das Shadow-Root über deklaratives Shadow DOM erstellt wird, ist die
clonable-Option standardmäßig auftruegesetzt, und dieclonable-Eigenschaft gibttruezurück. (Firefox-Bug 1868428) - Die Methode
-
Popover API:
dom.element.popover.enabled.Die Anzeige von Popovern über Seiteninhalt wird jetzt über HTML-Attribute oder JavaScript-API unterstützt, einschließlich der Gestaltung mit der CSS-Pseudoklasse
:popover-openund erweiterter Unterstützung für das Pseudoelement::backdrop. Weitere Details finden Sie in der Popover API-Referenz. (Firefox-Bug 1823757) -
Zwischenablage lesen und schreiben:
dom.events.asyncClipboard.clipboardItem,dom.events.asyncClipboard.readTextunddom.events.asyncClipboard.writeText.Die asynchrone Clipboard-API wird jetzt vollständig unterstützt, einschließlich der Methoden
read(),readText()undwrite()sowie der SchnittstelleClipboardItem. Ein Kontextmenü zum Einfügen wird angezeigt, um die Benutzerauswahl zu bestätigen, wenn auf Zwischenablagedaten zugegriffen wird, die nicht von derselben Ursprungsseite bereitgestellt wurden. (Firefox-Bug 1809106) -
Intl.Segmenter: nur standardmäßig in Firefox Nightly aktiviert.Das
Intl.SegmenterObjekt ermöglicht die genaue lokalsensitive Textsegmentierung eines Strings. Zum Beispiel, um einen Text in Wörter in einer Sprache aufzuteilen, die keine Leerzeichen zur Trennung verwendet:Intl.Segmenter("ja-JP", { granularity: "word" }). (Firefox-Bug 1423593)