Firefox 135 für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 135, die Entwickler betreffen. Firefox 135 wurde am 4. Februar 2025 veröffentlicht.
Änderungen für Webentwickler
HTML
Keine bemerkenswerten Änderungen
CSS
Entfernungen
- Die
-moz-user-input
CSS-Eigenschaft erlaubte es Ihnen, Eingabefelder zu deaktivieren. Die Eigenschaft ist nun veraltet und wurde entfernt (Firefox-Bug 1935198).
JavaScript
- Der JSON parse with source proposal wird jetzt unterstützt. Dieser Vorschlag zielt darauf ab, Funktionen bereitzustellen, um Probleme bei Präzisionsverlust zu mindern, wenn Werte wie große Fließkommazahlen und Datumswerte zwischen JavaScript-Werten und JSON-Text konvertiert werden (Firefox-Bug 1934622). Insbesondere sind die folgenden Funktionen jetzt verfügbar:
- Das
JSON.parse()
reviver
-Parameter-context
-Argument: Bietet Zugriff auf den ursprünglichen JSON-Quelltext, der geparst wurde. JSON.isRawJSON()
: Prüft, ob ein Wert ein vonJSON.rawJSON()
zurückgegebenes Objekt ist.JSON.rawJSON()
: Erzeugt ein "rohes JSON"-Objekt, das ein Stück JSON-Text enthält und anschließend in ein Objekt aufgenommen werden kann, um den angegebenen Wert beim Umwandeln in einen String zu bewahren.
- Das
Sicherheit
- Certificate Transparency ist ein Standard, der sicherstellt, dass Zertifikate öffentlich bekannt gemacht werden, bevor Webbrowser ihnen vertrauen. Firefox unterstützt diese Funktion jetzt in Desktop-Versionen (nicht jedoch auf Android). Dies betrifft nur Server, die Zertifikate verwenden, die von einer Zertifizierungsstelle im Mozilla Root CA-Programm ausgestellt wurden. (Firefox-Bug 1938242).
APIs
- Die statische Methode
PublicKeyCredential.getClientCapabilities()
wird unterstützt und ermöglicht einer Web-App, zu überprüfen, ob ein Browser bestimmte WebAuthn-Funktionen und Erweiterungen unterstützt, ohne auf das Erkennen des User Agents zurückzugreifen. (Firefox-Bug 1884466).
DOM
Medien, WebRTC und Web Audio
- Die Eigenschaften
mid
undrid
derRTCOutboundRtpStreamStats
-Schnittstelle sowie diemid
-Eigenschaft derRTCInboundRtpStreamStats
-Schnittstelle werden jetzt unterstützt. (Firefox-Bug 1643001).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
-
Um Benutzereingaben realistischer zu gestalten und reale Benutzerinteraktionen im Browser besser zu simulieren, haben wir die Verarbeitung der Aktionssequenz der
Perform Actions
-Befehle in Marionette und WebDriver BiDi vom Inhaltsprozess in den Elternprozess verlagert. Während Ereignisse weiterhin synchron vom Inhaltsprozess gesendet werden, werden sie nun asynchron über IPC-Aufrufe ausgelöst, die vom Elternprozess stammen (Firefox-Bug 1922077).Aufgrund dieser signifikanten Änderung können einige Regressionen noch vorhanden sein. Wenn Sie auf Probleme stoßen, reichen Sie bitte einen Fehlerbericht für den Remote Agent ein. Falls die Regressionen die Testausführung blockieren, können Sie vorübergehend zum vorherigen Verhalten zurückkehren, indem Sie die Firefox-Einstellung
remote.events.async.enabled
auffalse
setzen. -
Mit der Verarbeitung der Aktionen im Elternprozess wurden auch folgende Probleme behoben:
-
Wir unterstützen nun eine ordnungsgemäße Warteschlangenabwicklung von Aktionssequenzen ohne Race-Bedingungen. Dies ist besonders wichtig für den
input.performActions
-Befehl von WebDriver BiDi, der mehrfach parallel aufgerufen werden kann und die Aufgaben in der richtigen Reihenfolge ausführen muss (Firefox-Bug 1915798). -
Beim Versenden von Aktionen wird die
input cancel list
jetzt korrekt erst nach erfolgreichem Versenden der Aktion aktualisiert. Früher konnte, falls eine Aktion fehlschlug, eine Umkehrung der Aktion bestehen bleiben, was zu unerwarteten Nebeneffekten beim Zurücksetzen des Zustands derinput source
führen konnte (Firefox-Bug 1930845). -
Bei der Ausführung von Aktionen werden einzelne Aktionen nun während der Versendung erneut versucht, insbesondere in Situationen, in denen eine einzelne Aktion eine Navigation auslöst, die den aktuellen Browsing-Kontext ersetzt (Firefox-Bug 1930530, Firefox-Bug 1930090).
-
Beim Ausführen von Aktionen trat der Fehler
TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null
auf, wenn eine Aktion (nicht die letzte) in der Aktionskette das Fenster schloss und die verbleibenden Aktionen noch versendet wurden (Firefox-Bug 1932916).
-
-
Einige Marionette- und WebDriver BiDi-Befehle, die intern darauf angewiesen sind, dass ein
requestAnimationFrame
vor der Rückkehr gesendet wird, hängten sich auf, wenn der aktuelle Browsing-Kontext während ihrer Ausführung navigiert wurde (Firefox-Bug 1937118).
WebDriver BiDi
- Unterstützung für das
format
-Feld imbrowsingContext.captureScreenshot
-Befehl hinzugefügt, wodurch Clients verschiedene Dateiformate angeben können (image/png
undimage/jpeg
werden derzeit unterstützt) und die Kompressionsqualität für Screenshots definieren können (Firefox-Bug 1861737).
Änderungen für Add-on-Entwickler
commands.update
kann jetzt Tastenkombinationen für Befehle den TastenF13
bisF19
zuweisen. Allerdings können Erweiterungen diese Tasten nicht über dencommands
manifest.json-Schlüssel zuweisen. Benutzer können diesen Tasten auch Funktionen mithilfe von Erweiterungshortcuts verwalten zuweisen (Firefox-Bug 1924542).
Experimentelle Web-Funktionen
Diese Funktionen sind neu in Firefox 135 ausgeliefert worden, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie auf der about:config
-Seite nach der entsprechenden Einstellung und setzen Sie sie auf true
. Weitere solcher Funktionen finden Sie auf der Seite Experimentelle Funktionen.
- Temporal API (Nightly Version):
javascript.options.experimental.temporal
. Das Temporal-Objekt soll das Arbeiten mit Daten und Uhrzeiten in verschiedenen Szenarien vereinfachen, mit eingebauten Zeitzonen- und Kalenderdarstellungen. (Firefox-Bug 1912511). - Priorisierte Aufgabenplanung API:
dom.enable_web_task_scheduling
. Die Priorisierte Aufgabenplanung API bietet eine standardisierte Methode zur Priorisierung aller Aufgaben, die zu einer Anwendung gehören, egal ob sie im Code eines Webentwicklers definiert sind oder in Drittanbieter-Bibliotheken und Frameworks. Diese wurde vorübergehend in Nightly-Builds deaktiviert, um Ausfälle in freier Wildbahn zu vermeiden. (Firefox-Bug 1938242).