Firefox 132 Versionshinweise für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 132, die Entwickler betreffen. Firefox 132 wurde am 29. Oktober 2024 veröffentlicht.
Änderungen für Webentwickler
>HTML
Keine bemerkenswerten Änderungen
CSS
- Die Eigenschaft
text-emphasis-positionunterstützt nun den Wertauto, um sie mittext-underline-positionin Einklang zu bringen (Firefox-Bug 1919658). - CSS unterstützt jetzt die Verschachtelte Deklarationsregel, was bedeutet, dass verschachteltes CSS jetzt in der korrekten Reihenfolge geparst wird (Firefox-Bug 1918408).
Entfernt
- Die CSS-Eigenschaft
-moz-user-modifywurde entfernt. Diese Eigenschaft wurde zugunsten des globalen Attributscontenteditableveraltet. (Firefox-Bug 1920118).
JavaScript
- Die Modifikatoren für reguläre Ausdrücke
(?ims-ims:...)ermöglichen Änderungen, die nur in einem bestimmten Teil eines Regex-Musters wirksam werden. (Firefox-Bug 1913752 & Firefox-Bug 1899813).
HTTP
- Der Standard-/Dokumentenwert des HTTP-
Accept-Headers wurde auftext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8geändert. Dies entfernt Bild-MIME-Typen, die manchmal Kompatibilitätsprobleme verursachten, und stimmt mit der Fetch-Spezifikation und Safari überein. (Firefox-Bug 1917177).
Entfernt
- HTTP/2 Server Push ist standardmäßig deaktiviert, da die Einstellung
network.http.http2.allow-pushnun auffalsegesetzt ist. Diese Funktion wird von keinem anderen großen Browser mehr unterstützt und die Implementierung könnte in einer zukünftigen Version vollständig entfernt werden. (Firefox-Bug 1915848).
Datenschutz
- Alle Drittanbieter-Cookies werden nun im Strengen erweiterten Tracking-Schutz blockiert. (Firefox-Bug 1918037).
APIs
- Die Eigenschaften
drawingBufferColorSpaceundunpackColorSpaceder SchnittstellenWebGLRenderingContextundWebGL2RenderingContextwerden nun unterstützt. Diese spezifizieren den Farbraum des WebGL-Zeichenpuffers bzw. den Farbraum, in den bei der Textur-Importierung konvertiert werden soll. (Firefox-Bug 1885491, Firefox-Bug 1885446). - Die Eigenschaft
Notification.silentwird nun unterstützt, diese steuert, ob Systembenachrichtigungen lautlos sein sollen. Wennsilent: trueim KonstruktorNotification()angegeben wird, wird die resultierende Systembenachrichtigung ohne begleitende Geräusche oder Vibrationen ausgegeben, unabhängig von den Geräteeinstellungen (Firefox-Bug 1809028). - Das
fetchpriority-Attribut der Elemente<link>,<script>und<img>, diefetchPriority-Eigenschaft der SchnittstellenHTMLLinkElement,HTMLScriptElementundHTMLImageElement, der Parameteroptions.priority, der an denRequest()-Konstruktor übergeben wird, und diefetchpriority-Direktive im HTTP-Link-Header werden nun unterstützt. Diese erlauben es Entwicklern, einen Hinweis auf die relative Priorität zum Abrufen einer bestimmten Ressource im Vergleich zu anderen Ressourcen desselben Typs zu geben und können zusammen mit anderen Möglichkeiten zur Festlegung der Priorität verwendet werden, wie z.B. Preloading. (Firefox-Bug 1854077). - Die Schnittstelle
CSSNestedDeclarationsund die zugehörige EigenschaftCSSNestedDeclarations.stylewerden nun unterstützt (Firefox-Bug 1918408). - Die Berechtigungen
microphoneundcamerakönnen nun in der MethodePermissions.query()verwendet werden, um zu testen, ob der Zugriff auf die entsprechende Hardware gewährt, verweigert oder noch eine Benutzerbestätigung erforderlich ist. (Firefox-Bug 1609427 und Firefox-Bug 1915222).
Medien, WebRTC und Web Audio
- Die Methoden
requestVideoFrameCallback()undcancelVideoFrameCallback()der SchnittstelleHTMLVideoElementwerden nun unterstützt. Die MethoderequestVideoFrameCallback()registriert eine Callback-Funktion, die ausgeführt wird, wenn ein neues Videoframe an den Kompositor gesendet wird. Entwickler können diese Funktion nutzen, um Operationen auf jedem Videoframe durchzuführen, was effizienteres Zeichnen auf eine Leinwand, Videoanalyse, Synchronisation mit externen Audioquellen usw. ermöglicht. Die Methode gibt ein Callback-Handle zurück, das ancancelVideoFrameCallback()übergeben werden kann, um die ausstehende Callback-Anfrage abzubrechen. (Firefox-Bug 1919367, Firefox-Bug 1800882). - Die Methode
MediaStreamTrack.getCapabilities()wird nun unterstützt. Diese gibt ein Objekt zurück, das die akzeptierten Werte oder den Wertebereich für jede einschränkbare Eigenschaft des zugehörigenMediaStreamTrackdetailliert auflistet (Firefox-Bug 1179084).
WebDriver-Konformität (WebDriver BiDi, Marionette)
WebDriver BiDi
- Es wurden mehrere Verbesserungen implementiert, um WebDriver-BiDi-Befehle zuverlässiger zu machen, wenn sie während der Navigation oder mit neu erstellten Registerkarten verwendet werden. Zuvor schlugen Befehle wie
browsingContext.setViewportwahrscheinlich aufgrund einesAbortErrorfehl. Sie werden jetzt ein paar Mal versucht, um solche Probleme zu vermeiden. (Firefox-Bug 1854942, Firefox-Bug 1918287, Firefox-Bug 1918672, Firefox-Bug 1921756) - Das Ereignis
browsingContext.contextCreatedwird nun korrekt für Lazy-Loaded-Frames ausgelöst. Zuvor wurde das Ereignis erst ausgelöst, wenn das iframe tatsächlich begann, seine Inhalte zu laden. (Firefox-Bug 1878166) - Netzwerkevents werden nun korrekt für zwischengespeicherte Stylesheet-Anfragen ausgelöst. (Firefox-Bug 1879438)
- Die Zeiteinheiten für Netzwerkevents wurden zuvor falsch verwendet und in Mikrosekunden angegeben. Sie werden jetzt korrekt in Millisekunden angegeben. (Firefox-Bug 1916685)
- Die
requestTimeaus den Netzwerkevent-Zeitmessungen sollte jetzt genauer sein und wirklich die Zeit widerspiegeln, zu der die Anfrage tatsächlich begann. (Firefox-Bug 1922390)
Experimentelle Webfeatures
Diese Features sind neu in Firefox 132 veröffentlicht, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie die entsprechende Einstellung auf der about:config-Seite und setzen Sie sie auf true. Weitere solcher Features finden Sie auf der Seite Experimentelle Features.
-
Cookie Store API:
dom.cookieStore.enabled.Die Cookie Store API ist eine moderne, auf
Promisebasierende Methode zur Verwaltung von Cookies, die die Ereignisschleife nicht blockiert und nicht aufDocumentangewiesen ist (sie kann daher für Service Worker verfügbar gemacht werden). Ab Firefox 132 wurde ein Teil der Cookie Store API implementiert. (Firefox-Bug 1800882). Dies umfasst:- Die Schnittstelle
CookieStore, jedoch istpartitionednicht in Rückgabewerten enthalten. - Die Schnittstelle
CookieChangeEvent, ohnepartitioned-Eigenschaften. - Die Eigenschaft
Window.cookieStore. - Die Eigenschaft
ServiceWorkerGlobalScope.cookieStore.
- Die Schnittstelle
-
Die
fetch()-Optionkeepalive:dom.fetchKeepalive.enabled.Die globale Methode
fetch()hat eine Initialisierungsoptionkeepalive. Wennkeepaliveauftruegesetzt ist, wird die zugehörige Anfrage vom Browser nicht abgebrochen, wenn die Seite, die sie initiiert hat, vor Abschluss der Anfrage entladen wird.Dies ermöglicht es, eine Fetch-Anfrage als Alternative zu
Navigator.sendBeacon()für das Senden von Analysen am Ende einer Sitzung zu verwenden, was einige Vorteile hat (Sie können andere HTTP-Methoden alsPOSTverwenden, Anforderungseigenschaften anpassen und auf die Serverantwort über die Erfüllung des Fetch-Promisezugreifen). Es ist auch in Service Workern verfügbar. (Firefox-Bug 1906952). -
CloseWatcher:dom.closewatcher.enabled. Die SchnittstelleCloseWatcherermöglicht es Entwicklern, Komponenten zu implementieren, die mit geräteeigenen Mechanismen geschlossen werden können, auf dieselbe Weise wie integrierte Komponenten. Auf Android können Sie beispielsweise einen Dialog mit der Zurück-Taste schließen: Diese Schnittstelle ermöglicht es Ihnen, ähnlich eine benutzerdefinierte Seitenleiste zu schließen. (Firefox-Bug 1888729). -
Promise.try():javascript.options.experimental.promise_try.Promise.try()ist eine praktische Methode, die einen Callback jeglicher Art annimmt (gibt zurück oder wirft einen Fehler, synchron oder asynchron) und ihr Ergebnis in einPromiseumhüllt, sodass Promise-Semantiken (z. B..then(),.catch()) zur Verarbeitung verwendet werden können. (Firefox-Bug 1905364). -
JSON.parsemit Quelle:javascript.options.experimental.json_parse_with_source. Der Vorschlag zum Zugriff auf den Quelltext vonJSON.parseerweitert das Verhalten vonJSON.parse, um Funktionen bereitzustellen, die Probleme im Zusammenhang mit Präzisionsverlust bei der Umwandlung von Werten wie großen Fließkommazahlen und Datumswerten zwischen JavaScript-Werten und JSON-Text abmildern. (Firefox-Bug 1913085, Firefox-Bug 1925334). Insbesondere sind die folgenden Funktionen jetzt verfügbar:- Das
reviver-Parametercontext-Argument vonJSON.parse(): Ermöglicht den Zugriff auf den ursprünglichen JSON-Quelltext, der geparst wurde. JSON.isRawJSON(): Testet, ob ein Wert ein vonJSON.rawJSON()zurückgegebenes Objekt ist.JSON.rawJSON(): Erstellt ein "rohes JSON"-Objekt, das ein Stück JSON-Text enthält, welches dann in ein Objekt aufgenommen werden kann, um den festgelegten Wert bei der Umwandlung in eine Zeichenkette zu erhalten.
- Das