Firefox 128 für Entwickler
Dieser Artikel enthält Informationen über die Änderungen in Firefox 128, die Entwickler betreffen. Firefox 128 wurde am 9. Juli 2024 veröffentlicht.
Änderungen für Webentwickler
HTML
- Das
target
-Attribut des<base>
Elements erlaubt jetzt keine ASCII-Zeilenvorschübe, Tabs oder das<
Zeichen mehr und ändert den Wert zu_blank
, falls solche Zeichen vorhanden sind. Dies verhindert "dangling markup"-Injection-Angriffe, die ein nicht geschlossenestarget
-Attribut verwenden (Firefox Bug 1835157).
CSS
- Die relative Farbsyntax ist nun standardmäßig aktiviert. Relative Farbsyntax ermöglicht es, einen Farbwert relativ zu einer Ursprungsfarbe zu erstellen und kann es Ihnen ermöglichen, eine Farbe in einem anderen Farbraum mit Farb-Funktionen zu ändern (Firefox Bug 1900251).
- Die
content
-Eigenschaft unterstützt jetzt alternativen Text für Inhalte, die ein Bild enthalten. Der alternative Text wird dann dem Barrierefreiheitsbaum des Browsers ausgesetzt. (Siehe Firefox Bug 1281158 und Firefox Bug 1896047).
Entfernungen
- Die Mauerwerkslayout-Eigenschaften
align-tracks
undjustify-tracks
wurden entfernt. Diese Eigenschaften wurden nur in Firefox implementiert und kürzlich aus der Spezifikation entfernt (Firefox Bug 1900195).
JavaScript
-
Resizable
ArrayBuffer
und erweiterbareSharedArrayBuffer
werden jetzt unterstützt, was es ermöglicht, die Größe von Puffern zu ändern, ohne einen neuen Puffer zuzuweisen und Daten hinein zu kopieren (Firefox Bug 1884150). Die relevanten Methoden und Eigenschaften sind:-
Erweitern Sie
SharedArrayBuffer
mit der MethodeSharedArrayBuffer.prototype.grow()
. Die maximal erlaubte Größe des Puffers wird mit dem Parameteroptions.maxByteLength
an denSharedArrayBuffer()
Konstruktor angegeben. Die EigenschaftenSharedArrayBuffer.prototype.growable
undSharedArrayBuffer.prototype.maxByteLength
zeigen an, ob der Puffer erweiterbar ist und seine maximal erlaubte Größe. -
Ändern Sie die Größe von
ArrayBuffer
mit der MethodeArrayBuffer.prototype.resize()
. Die maximal erlaubte Größe des Puffers wird mit dem Parameteroptions.maxByteLength
an denArrayBuffer()
Konstruktor angegeben. Die EigenschaftenArrayBuffer.prototype.resizable
undArrayBuffer.prototype.maxByteLength
zeigen an, ob der Puffer in der Größe änderbar ist und seine maximal erlaubte Größe.
-
Erweitern Sie
HTTP
- Der HTTP
Accept
-Header in Standardanfragen und Bildanfragen enthält jetzt den MIME-Typimage/svg+xml
(Firefox Bug 1711622). - Das RFC 9218: Extensible Prioritization Scheme for HTTP wird jetzt unterstützt, einschließlich des HTTP
Priority
-Headers für Anforderungen und Antworten, das es Clients ermöglicht, einen Hinweis auf die erwartete relative Priorität für über eine Verbindung gesendete Ressourcen zu geben, sowie die HTTP/2- und HTTP/3-PRIORITY_UPDATE
-Rahmen, mit denen die Priorität nach dem Senden des Headers geändert werden kann (Firefox Bug 1865040).
APIs
RTCRtpReceiver.getParameters()
undRTCRtpSender.getParameters()
werden jetzt unterstützt und geben ein Objekt zurück, das die aktuellen Codecs für die Codierung und Übertragung von Medien auf den Empfänger- und Senderstrecken beschreibt. (Firefox Bug 1534687).Request.bytes()
undResponse.bytes()
werden jetzt unterstützt, um bequem einUint8Array
aus einerRequest
undResponse
zu erhalten. (Firefox Bug 1896475).PushMessageData.bytes()
wird jetzt unterstützt, um die Daten aus einer Push-Nachricht als ein Byte-Array in einemUint8Array
-Objekt zurückzugeben. (Firefox Bug 1897871).Blob.bytes()
wird unterstützt, um die Daten aus einemBlob
als ein Byte-Array in einemUint8Array
-Objekt zurückzugeben. (Firefox Bug 1896509).-
MediaKeys.getStatusForPolicy()
wird jetzt zur Verfügung gestellt, um zu überprüfen, ob das CDM-Modul, das zum Entschlüsseln von DRM-geschütztem Inhalt verwendet wird, die Wiedergabe von verschlüsselten Mediendaten für einen "hypothetischen" Schlüssel basierend auf festgelegten Richtlinienanforderungen wie der High-bandwidth Digital Content Protection (HDCP)-Version, die vom System unterstützt wird, zulassen würde. Dies bietet einer Anwendung einen einfachen Mechanismus zu wissen, ob die Wiedergabe in optimaler Auflösung erlaubt wird, ohne eine Medienschlüsselsitzung erstellen oder eine echte Lizenz abrufen zu müssen. (Firefox Bug 1878714). RTCRtpTransceiver.setCodecPreferences()
wird jetzt unterstützt, um die Codecs festzulegen, die ein WebRTC-Lokalteilnehmer zum Dekodieren empfangener Daten verwenden kann, in seiner bevorzugten Codec-Reihenfolge. Webanwendungen können dies verwenden, um den Entferntteilnehmer zu veranlassen, einen bevorzugten Codec zu wählen und die Aushandlung spezifischer Codecs zu deaktivieren - einschließlich der für Wiederübertragung, Redundanz und Vorwärtsfehlerkorrektur verwendeten. (Firefox Bug 1396922).- Serialisierung von deklariertem Shadow-DOM, einschließlich der Methoden
ShadowRoot.getHTML()
undElement.getHTML()
, und der zugehörigen EigenschaftenShadowRoot.serializable
undHTMLTemplateElement.shadowRootSerializable
. - Die
CSSPropertyRule
-Schnittstelle wird jetzt standardmäßig unterstützt und repräsentiert eine CSS@property
-Regel. Die Schnittstelle ermöglicht den Zugriff auf Werte wiename
,syntax
,inherits
undinitialValue
von CSS-Benutzerdefinierten Eigenschaften, die mit der@property
-Regel definiert wurden (Firefox Bug 1864818). - Die Methode
registerProperty()
wird nun standardmäßig unterstützt. Sie ermöglicht es, CSS-Benutzerdefinierte Eigenschaften über JavaScript zu definieren, was ähnlich wie die Verwendung der@property
-Regel in CSS ist (Firefox Bug 1864818).
Medien, WebRTC und Web Audio
Entfernungen
- Die nicht standardisierte Methode
HTMLMediaElement.seekToNextFrame()
wurde entfernt und wird von keinem Browser mehr unterstützt. (Firefox Bug 1336404).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Wir unterstützen jetzt die erweiterte Fähigkeit "unhandledPromptBehavior", die entweder ein String (WebDriver klassisch) oder ein JSON-Objekt (WebDriver BiDi) sein kann. Der Objekttyp bietet mehr Fähigkeiten für WebDriver BiDi wie das Handhaben von "beforeunload"-Eingabeaufforderungen. (Firefox Bug 1884650)
WebDriver BiDi
- Unterstützung für das "BiDi-Flag" einer WebDriver-Sitzung hinzugefügt, um mit der WebDriver BiDi-Spezifikation übereinzustimmen. Dies ermöglicht die Identifizierung von Sitzungen, die für oder zu WebDriver BiDi aufgerüstet wurden. (Firefox Bug 1898719)
- Unterstützung für mehrere Argumente für den Befehl
network.continueRequest
hinzugefügt, der es jetzt ermöglicht, Header, Cookies, Methode und Body einer Anfrage zu ändern, bevor sie über das Netzwerk gesendet wird. (Firefox Bug 1850680) - Unterstützung für das Argument
userContext
im Befehlpermissions.setPermission
hinzugefügt, das es ermöglicht, eine Erlaubnis auf einen bestimmten Benutzerkontext zu isolieren (in Firefox als Container umgesetzt). (Firefox Bug 1894217) - Ein Fehler in
browsingContext.navigate
wurde behoben, bei dem ein Navigationsfehler eine Fehlerseite lädt und nachfolgende Befehle fehlschlagen lässt. (Firefox Bug 1878690) - Wir haben die Reihenfolge der Ausgabe von
network.responseCompleted
-Ereignissen für Umleitungen behoben. DasresponseCompleted
des ursprünglichen Antrags wird jetzt immer vor den Ereignissen für die Umleitung ausgegeben. (Firefox Bug 1879580) - Um dem aktuellen Firefox-Verhalten zu entsprechen, haben wir den Workaround eingeführt, um Cookies nicht zu partitionieren, die mit dem Befehl "storage.setCookie" für dieselbe Domain hinzugefügt werden wie die Seite, die im Zielkontext geladen wurde. (Firefox Bug 1898222)
- Der Befehl
input.setFiles
wurde aktualisiert, um einenUnsupportedOperation
-Fehler auszulösen, wenn die angegebene Datei nicht existiert. (Firefox Bug 1887644)
Marionette
- Unterstützung für das "HTTP-Flag" einer WebDriver-Sitzung hinzugefügt, um mit der WebDriver-Klassik-Spezifikation übereinzustimmen. Dies ermöglicht die Identifizierung von Sitzungen, die für WebDriver Klassik erstellt wurden. (Firefox Bug 1884090)
- Unterstützung für die Permissions API in WebDriver Klassik hinzugefügt. (Firefox Bug 1524074)
Änderungen für Add-on-Entwickler
- Fügt die Möglichkeit hinzu, Regeln in statischen deklarativen Net-Request-Regelsätzen mit
declarativeNetRequest.updateStaticRules
zu aktivieren und zu deaktivieren und deaktivierte Regeln für einen statischen Regelsatz mitdeclarativeNetRequest.getDisabledRuleIds
aufzulisten (Firefox Bug 1810762). - Eine statische deklarative Net-Request-Regel, die durch den
declarative_net_request
manifest key definiert ist, wird jetzt geladen, wenn sie nicht erkannte Eigenschaften enthält, aber ansonsten gültig ist (Firefox Bug 1886608). - Führt
MAX_NUMBER_OF_DYNAMIC_RULES
undMAX_NUMBER_OF_SESSION_RULES
indeclarativeNetRequest
ein. Diese Eigenschaften repräsentieren die maximale Anzahl dynamischer und sitzungsgebundener Regeln, die eine Erweiterung hinzufügen kann. Sie ersetzenMAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
, die jetzt als veraltet gilt (Firefox Bug 1894128). - Der Standardwert der
proxy.settings
-EigenschaftproxyDNS
ist nunfalse
bei Verwendung von SOCKS4 undtrue
bei Verwendung von SOCKS5. Zuvor war sie standardmäßigfalse
für SOCKS4 und SOCKS5 (Firefox Bug 1741375). - Unterstützung ist jetzt für
webRequest.onAuthRequired
vorhanden, um Authentifizierungsanforderungen asynchron zu behandeln, indem"asyncBlocking"
imaddListener
-ParameterextraInfoSpec
spezifiziert wird (Firefox Bug 1889897). - Der optional_host_permissions-Manifest-Schlüssel wurde hinzugefügt. Dieser Schlüssel ermöglicht Laufzeitanfragen für den Zugriff (vom Benutzer nach der Installation einer Erweiterung gewährter Zugriff) für die APIs in der Erweiterung, die Hostdaten lesen oder ändern (Firefox Bug 1766026).
- Die nicht-standardisierten Web-API-Ereignisse
overflow
undunderflow
wurden als veraltet deklariert. Die Verwendung dieser Ereignisse sollte aus Erweiterungsdokumenten entfernt werden, bevor Firefox 131 veröffentlicht wird (Firefox Bug 1898445). - Unterstützung wird jetzt für Skripte bereitgestellt, die in der Ausführungsumgebung von Webseiten laufen. Dies wird durch die Unterstützung von
MAIN
inExecutionWorld
für diescripting
API, die Hinzufügung vonworld
zurcontentScripts.register()
API und Unterstützung fürworld
imcontent_scripts
-Manifest-Schlüssel bereitgestellt (Firefox Bug 1736575). - Die
scripting
API kann jetzt Skripte und CSS in sandboxed Seiten mitabout:blank
,about:srcdoc
unddata:
URLs einfügen. Diese Funktionalität wurde in Firefox Bug 1475831 fürscripting.executeScript
,scripting.insertCSS
, undscripting.removeCSS
und in Firefox Bug 1853411 fürscripting.registerContentScripts
undscripting.updateContentScripts
durch die Einführung vonmatchOriginAsFallback
zuscripting.RegisteredContentScript
implementiert. - Inhalts-Skripte laufen jetzt auf sandboxed
http
,https
, undfile:
URLs (Firefox Bug 1411641). - Der Manifest-Schlüssel
content_scripts
unterstützt jetztmatch_origin_as_fallback
undcontentScripts.register
matchOriginAsFallback
, das ermöglicht, Skripte inabout:
,data:
, undblob:
Seiten einzufügen, wenn der Dokumentursprung wegen der Verwendung von CSP oder iframe-Sandbox undurchsichtig ist (Firefox Bug 1475831 und Firefox Bug 1896669). Darüber hinaus können Skripte, die mit demcontent_scripts
-Manifest-Schlüssel registriert sind, nur inblob:
Seiten ausgeführt werden, wennmatch_origin_as_fallback
true
ist (Firefox Bug 1897113). - Unterstützung hinzugefügt für die
declarativeNetRequest.RuleCondition
EigenschaftdomainType
(Firefox Bug 1797408). - Erweiterungen, die eine nicht erkannte Eigenschaft im Manifest-Schlüssel
browser_specific_settings.gecko
enthalten, werden jetzt mit einer Warnung geladen. Diese Erweiterungen verursachten früher einen Installationsfehler. Damit ist sichergestellt, dass, wenn eine neuebrowser_specific_settings.gecko
-Eigenschaft hinzugefügt wird, Erweiterungen, die diese neue Eigenschaft verwenden, in Firefox-Versionen, die bis zu diesem Release zurückreichen, geladen werden (Firefox Bug 1757293).
Experimentelle Webfunktionen
Diese Funktionen sind neu in Firefox 128, aber standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie die entsprechende Einstellung auf der about:config
Seite und setzen Sie sie auf true
. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
image/jxl
MIME-Typ im Accept-Header für Standard- und Bildanfragen:image.jxl.enabled
.Der HTTP
Accept
-Header in Standardanfragen und Bildanfragen kann so konfiguriert werden, dass er Unterstützung für denimage/jxl
MIME-Typ anzeigt. (Firefox Bug 1711622). -
Cookies mit unabhängigem, partitioniertem Zustand (CHIPS):
network.cookie.CHIPS.enabled
.CHIPS, oder "partitionierte Cookies", erlauben es Entwicklern, ein Cookie durch die
partitioned
-Direktive desSet-Cookie
HTTP-Headers in partitionierten Speicher aufzunehmen. Wenn gesetzt, haben Cookies einen separaten Speicher für jede Top-Level-Site und können nur innerhalb der gleichen Top-Level-Site gelesen werden, auf der sie gesetzt wurden, und deren Subdomains. Dies blockiert Cross-Site-Tracking, während legitime Verwendungen von Drittanbieter-Cookies wie die Speicherung des Zustands eingebetteter Karten oder Chat-Widgets über verschiedene Subdomains einer Website hinweg ermöglicht werden. (Firefox Bug 1898253). -
Datenschutzfreundliche Attributions-API (PPA):
dom.origin-trials.private-attribution.state
.Die PPA API bietet eine Alternative zum Benutzer-Tracking für die Anzeigen-Attribution, indem das neue Objekt
navigator.privateAttribution
mit den MethodensaveImpression()
undmeasureConversion()
verwendet wird. Lesen Sie mehr über PPA im Erläuterungsdokument. Dieses Experiment kann für Websites über "Origin Trial" oder im Browser aktiviert werden, indem die Einstellung auf1
gesetzt wird. (Firefox Bug 1900929).
Ältere Versionen
- Firefox 127 for developers
- Firefox 126 for developers
- Firefox 125 for developers
- Firefox 124 for developers
- Firefox 123 for developers
- Firefox 122 for developers
- Firefox 121 for developers
- Firefox 120 for developers
- Firefox 119 for developers
- Firefox 118 for developers
- Firefox 117 for developers
- Firefox 116 for developers
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers
- Firefox 103 for developers
- Firefox 102 for developers
- Firefox 101 for developers
- Firefox 100 for developers
- Firefox 99 for developers
- Firefox 98 for developers
- Firefox 97 for developers