Firefox 128 für Entwickler
Dieser Artikel bietet 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-Zeilenumbrüche, Tabulatoren oder das<
-Zeichen mehr und ändert den Wert auf_blank
, falls diese vorhanden sind. Dies verhindert Angriffe durch unvollständigetarget
-Attribute, die ungültige Markup-Injektionen nutzen (Firefox Bug 1835157).
CSS
- Die Relative color syntax ist jetzt standardmäßig aktiviert. Diese Syntax ermöglicht es, einen Farbwert relativ zu einer Ursprungsfarbe zu erstellen und in einem anderen Farbraum mit Hilfe von Farb-Funktionen zu ändern (Firefox Bug 1900251).
- Die
content
-Eigenschaft unterstützt jetzt Alternativtext für Inhalte, die ein Bild enthalten. Der Alternativtext wird dann in den Accessibility-Tree des Browsers aufgenommen. (Siehe Firefox Bug 1281158 und Firefox Bug 1896047). - Der
syntax
-Deskriptor der@property
-Regel unterstützt jetzt den<string>
-Syntax-Komponenten-Namen. (Siehe Firefox Bug 1846635).
Entfernungen
- Die Mauerwerks-Layout-Eigenschaften
align-tracks
undjustify-tracks
wurden entfernt. Diese Eigenschaften waren nur in Firefox implementiert und wurden kürzlich aus der Spezifikation entfernt (Firefox Bug 1900195).
JavaScript
-
Resizable
ArrayBuffer
und growableSharedArrayBuffer
werden jetzt unterstützt, sodass die Größe der Puffer geändert werden kann, ohne einen neuen Puffer zuzuweisen und Daten hineinzukopieren (Firefox Bug 1884150). Die relevanten Methoden und Eigenschaften sind:-
SharedArrayBuffer
mittels der MethodeSharedArrayBuffer.prototype.grow()
vergrößern. Die maximal zulässige Größe des Puffers wird mit demoptions.maxByteLength
-Parameter imSharedArrayBuffer()
-Konstruktor angegeben. Die EigenschaftenSharedArrayBuffer.prototype.growable
undSharedArrayBuffer.prototype.maxByteLength
geben an, ob der Puffer vergrößert werden kann und seine maximal zulässige Größe. -
ArrayBuffer
mittels der MethodeArrayBuffer.prototype.resize()
anpassen. Die maximal zulässige Größe des Puffers wird mit demoptions.maxByteLength
-Parameter imArrayBuffer()
-Konstruktor angegeben. Die EigenschaftenArrayBuffer.prototype.resizable
undArrayBuffer.prototype.maxByteLength
geben an, ob der Puffer geändert werden kann und seine maximal zulässige Größe.
-
HTTP
- Der HTTP-Header
Accept
in Standard- und Bildanforderungen 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-Headers
Priority
, der es Clients ermöglicht, die erwartete relative Priorität von Ressourcen über eine Verbindung anzudeuten, sowie der HTTP/2- und HTTP/3-PRIORITY_UPDATE
-Frames, die es erlauben, die Priorität nach dem Senden des Headers zu ändern (Firefox Bug 1865040).
APIs
RTCRtpReceiver.getParameters()
undRTCRtpSender.getParameters()
werden jetzt unterstützt und geben ein Objekt zurück, das die aktuellen Codecs beschreibt, die für die Kodierung und Übertragung von Medien auf den Empfänger- und Sendertracks verwendet werden. (Firefox Bug 1534687).- Die Methoden
Request.bytes()
undResponse.bytes()
sind jetzt eine bequeme Möglichkeit, einUint8Array
von einemRequest
undResponse
zu erhalten. (Firefox Bug 1896475). PushMessageData.bytes()
wird jetzt unterstützt, um die Daten einer Push-Nachricht als Array von Bytes in einemUint8Array
-Objekt zurückzugeben. (Firefox Bug 1897871).Blob.bytes()
wird unterstützt, um die Daten einesBlob
als Array von Bytes in einemUint8Array
-Objekt zurückzugeben. (Firefox Bug 1896509).MediaKeys.getStatusForPolicy()
wird jetzt unterstützt, um zu überprüfen, ob das CDM-Modul, das zum Entschlüsseln von DRM-geschütztem Inhalt verwendet wird, die Wiedergabe verschlüsselter Mediendaten für einen "hypothetischen" Schlüssel basierend auf den angegebenen Richtlinienanforderungen wie der vom System unterstützten High-bandwidth Digital Content Protection (HDCP)-Version ermöglichen würde. Dies bietet einer Anwendung einen einfachen Mechanismus, um im Voraus zu wissen, ob die Wiedergabe in der optimalen Auflösung erlaubt wird, ohne eine Medienschlüsselsitzung zu erstellen oder eine reale Lizenz anzufordern. (Firefox Bug 1878714).RTCRtpTransceiver.setCodecPreferences()
wird jetzt unterstützt, um die Codecs festzulegen, die ein WebRTC-Lokalpeers für das Decodieren empfangener Daten in seiner bevorzugten Codec-Reihenfolge verwenden kann. Webanwendungen können das nutzen, um den Remote-Peer dazu zu bringen, einen bevorzugten Codec zu wählen und die Aushandlung spezifischer Codecs zu deaktivieren — einschließlich solcher, die für Retransmission, Redundanz und Forward Error Correction verwendet werden. (Firefox Bug 1396922).- Serialisierung von deklarativem Shadow DOM, einschließlich der Methoden
ShadowRoot.getHTML()
undElement.getHTML()
, und der zugehörigen EigenschaftenShadowRoot.serializable
undHTMLTemplateElement.shadowRootSerializable
. - Die
CSSPropertyRule
-Schnittstelle ist jetzt standardmäßig unterstützt und repräsentiert eine CSS-@property
-Regel. Die Schnittstelle erlaubt den Zugriff auf die Werte, einschließlichname
,syntax
,inherits
undinitialValue
, von in CSS definierten benutzerdefinierten Eigenschaften mithilfe der@property
-Regel (Firefox Bug 1864818). - Die Methode
registerProperty()
wird jetzt standardmäßig unterstützt. Sie ermöglicht es, CSS-Benutzerdefinierte Eigenschaften über JavaScript zu definieren, ähnlich wie bei der Verwendung der@property
-Regel in CSS (Firefox Bug 1864818).
Medien, WebRTC und Web Audio
Entfernungen
- Die nicht standardisierte Methode
HTMLMediaElement.seekToNextFrame()
wurde entfernt und wird jetzt von keinem Browser unterstützt. (Firefox Bug 1336404).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Wir unterstützen jetzt die erweiterte "unhandledPromptBehavior"-Funktion, die entweder ein String (WebDriver Classic) oder ein JSON-Objekt (WebDriver BiDi) sein kann. Der Objekttyp bietet mehr Funktionen für WebDriver BiDi, wie das Handling von "beforeunload"-Prompts. (Firefox Bug 1884650)
WebDriver BiDi
- Unterstützung für den "BiDi-Flag" einer WebDriver-Sitzung hinzugefügt, um sich mit der WebDriver BiDi-Spezifikation abzustimmen. Dies ermöglicht, Sitzungen zu identifizieren, die für WebDriver BiDi erstellt oder aktualisiert 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
userContext
-Argument im Befehlpermissions.setPermission
hinzugefügt, das es ermöglicht, eine Berechtigung auf einen spezifischen Benutzerkontext zu isolieren (implementiert als Container in Firefox). (Firefox Bug 1894217) - Ein Fehler im
browsingContext.navigate
-Befehl wurde behoben, bei dem ein Navigationsfehler eine Fehlerseite laden und nachfolgende Befehle fehlschlagen ließ. (Firefox Bug 1878690) - Wir haben die Reihenfolge, in der
network.responseCompleted
-Ereignisse für Redirects ausgegeben werden, korrigiert. DasresponseCompleted
des ursprünglichen Antrags wird jetzt immer vor den Ereignissen für den Redirect ausgegeben. (Firefox Bug 1879580) - Um das aktuelle Firefox-Verhalten anzugleichen, haben wir den Workaround eingeführt, Cookies, die mit dem Befehl "storage.setCookie" hinzugefügt wurden, für dieselbe Domain wie die im anvisierten Kontext geladene Seite nicht zu partitionieren. (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 den "HTTP-Flag" einer WebDriver-Sitzung hinzugefügt, um sich mit der WebDriver Classic-Spezifikation abzustimmen. Dies ermöglicht, Sitzungen zu identifizieren, die für WebDriver Classic erstellt wurden. (Firefox Bug 1884090)
- Unterstützung für die Permissions API in WebDriver Classic hinzugefügt. (Firefox Bug 1524074)
Änderungen für Add-on-Entwickler
- Möglichkeit zur Aktivierung und Deaktivierung von Regeln in statischen deklarativen Netzwerkanforderungsregel-Sets mit
declarativeNetRequest.updateStaticRules
hinzugefügt und das Auflisten deaktivierter Regeln für ein statisches Regelset mitdeclarativeNetRequest.getDisabledRuleIds
(Firefox Bug 1810762). - Eine statische deklarative Netzwerkanforderungsregel, die über den
declarative_net_request
-Manifest-Schlüssel definiert wurde, wird jetzt geladen, auch wenn sie unerkannte 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 sitzungsmäßig eingegrenzter Regeln, die eine Erweiterung hinzufügen kann. Sie ersetzenMAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
, was jetzt veraltet ist (Firefox Bug 1894128). - Der Standardwert der
proxy.settings
-EigenschaftproxyDNS
ist jetztfalse
, wenn SOCKS4 undtrue
, wenn SOCKS5 verwendet wird. Zuvor wurde standardmäßigfalse
für sowohl SOCKS4 als auch SOCKS5 verwendet (Firefox Bug 1741375). - Unterstützung für
webRequest.onAuthRequired
wird jetzt geboten, um Authentifizierungsanforderungen asynchron zu behandeln, indem"asyncBlocking"
in deraddListener
-Parameter-extraInfoSpec
angegeben wird (Firefox Bug 1889897). - Der optional_host_permissions-Manifest-Schlüssel wurde hinzugefügt. Dieser Schlüssel ermöglicht zur Laufzeit Anfragen für den Zugriff (Zugriff, der vom Benutzer gewährt wurde, nachdem eine Erweiterung installiert wurde) für die APIs in der Erweiterung, die auf Host-Daten lesen oder diese ändern (Firefox Bug 1766026).
- Die nicht standardisierten Web-API-Ereignisse
overflow
undunderflow
wurden als veraltet markiert. Die Verwendung dieser Ereignisse sollte aus Erweiterungsdokumenten entfernt werden, bevor Firefox 131 veröffentlicht wird (Firefox Bug 1898445). - Unterstützung für Skripte, die in der Ausführungsumgebung der Webseite laufen, wird jetzt geboten. Dies geschieht durch Unterstützung für
MAIN
inExecutionWorld
für diescripting
-API, die Ergänzung vonworld
zurcontentScripts.register()
-API und Unterstützung fürworld
imcontent_scripts
-Manifest-Schlüssel (Firefox Bug 1736575). - Die
scripting
-API kann jetzt Skripte und CSS in sandboxed Pages mitabout:blank
,about:srcdoc
unddata:
-URLs einfügen. Dies wurde fürscripting.executeScript
,scripting.insertCSS
undscripting.removeCSS
in Firefox Bug 1475831 undscripting.registerContentScripts
undscripting.updateContentScripts
in Firefox Bug 1853411 durch die Einführung vonmatchOriginAsFallback
zuscripting.RegisteredContentScript
implementiert. - Content-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
, wodurch Skripte inabout:
,data:
undblob:
-Seiten injiziert werden können, wenn der Dokumentenursprung aufgrund der Verwendung von CSP oder iframe-Sandbox undurchsichtig ist (Firefox Bug 1475831 und Firefox Bug 1896669). Zusätzlich können mit demcontent_scripts
-Manifest-Schlüssel registrierte Skripte jetzt nur inblob:
-Seiten laufen, wennmatch_origin_as_fallback
true
ist (Firefox Bug 1897113). - Unterstützung für die
declarativeNetRequest.RuleCondition
-EigenschaftdomainType
hinzugefügt (Firefox Bug 1797408). - Erweiterungen, die eine nicht erkannte Eigenschaft im Manifest-Schlüssel
browser_specific_settings.gecko
enthalten, werden jetzt mit einer Warnung geladen. Zuvor führte dies zu einem Fehler bei der Installation. Dies stellt sicher, dass wenn eine neuebrowser_specific_settings.gecko
-Eigenschaft hinzugefügt wird, Erweiterungen, die diese neue Eigenschaft verwenden, in Firefox-Versionen bis zu dieser Veröffentlichung geladen werden (Firefox Bug 1757293).
Experimentelle Web-Features
Diese Features sind neu in Firefox 128 ausgeliefert worden, 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 solcher Features finden Sie auf der Seite Experimentelle Features.
-
MIME-Type
image/jxl
im Accept-Header für Standard- und Bildanfragen:image.jxl.enabled
.Der HTTP-Header
Accept
in Standard- und Bildanfragen kann konfiguriert werden, um Unterstützung für den MIME-Typeimage/jxl
anzuzeigen. (Firefox Bug 1711622). -
Cookies mit unabhängigem partitionierten Zustand (CHIPS):
network.cookie.CHIPS.enabled
.CHIPS, oder "partitionierte Cookies", erlauben es Entwicklern, ein Cookie durch die
partitioned
-Direktive desSet-Cookie
-HTTP-Headers in den partitionierten Speicher aufzunehmen. Wenn gesetzt, haben Cookies separate Speicher für jede Top-Level-Website und können nur innerhalb derselben Top-Level-Website, auf der sie gesetzt wurden, und ihren Subdomains gelesen werden. Dies blockiert das Tracking über Websites hinweg, während gleichzeitig legitime Verwendungen von Drittanbieter-Cookies wie die Beibehaltung der Zustände eingebetteter Karten oder Chat-Widgets über verschiedene Subdomains einer Website ermöglicht werden. (Firefox Bug 1898253). -
Privacy Preserving Attribution API (PPA):
dom.origin-trials.private-attribution.state
.Die PPA-API bietet eine Alternative zum Nutzer-Tracking für Werbung durch das neue
navigator.privateAttribution
-Objekt mit den MethodensaveImpression()
undmeasureConversion()
. Lesen Sie mehr über die PPA im Erläuterungsdokument. Dieses Experiment kann für Websites über Origin Trial oder im Browser durch Setzen der Einstellung auf1
aktiviert werden. (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