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 verbietet nun ASCII-Zeilenumbrüche, Tabs oder das<
-Zeichen. Wenn solche Zeichen vorhanden sind, wird der Wert auf_blank
geändert. Dies verhindert Angriffe durch nicht abgeschlossenetarget
-Attribute, die zu schwebenden Markup-Injektionen führen könnten (Firefox-Bug 1835157).
CSS
- Die Relative-Farbsyntax ist jetzt standardmäßig aktiviert. Die Relative-Farbsyntax ermöglicht es, einen Farbwert relativ zu einer Ursprungsfarbe zu erstellen und kann es ermöglichen, eine Farbe in einem anderen Farbraum mittels Farbfunktionen 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 an den Barrierefreiheitsbaum des Browsers übermittelt. (Siehe Firefox-Bug 1281158 und Firefox-Bug 1896047). - Der
syntax
-Deskriptor der@property
-At-Regel unterstützt jetzt den<string>
-Syntaxkomponenten-Namen. (Siehe Firefox-Bug 1846635).
Entfernungen
- Die Anordnungs-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 wachstumsfähigeSharedArrayBuffer
werden jetzt unterstützt, was es ermöglicht, die Größe von Puffern zu ändern, ohne einen neuen Puffer zuzuordnen und Daten hineinzukopieren (Firefox-Bug 1884150). Die relevanten Methoden und Eigenschaften sind:- Wachsen des
SharedArrayBuffer
mit der MethodeSharedArrayBuffer.prototype.grow()
. Die maximale erlaubte Größe des Puffers wird mit demoptions.maxByteLength
-Parameter des [SharedArrayBuffer()
]-Konstruktors](/de/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer#maxbytelength) angegeben. Die EigenschaftenSharedArrayBuffer.prototype.growable
undSharedArrayBuffer.prototype.maxByteLength
zeigen an, ob der Puffer wachsen kann und welche maximale Größe er haben darf. - Resize des
ArrayBuffer
mit der MethodeArrayBuffer.prototype.resize()
. Die maximal erlaubte Größe des Puffers wird mit demoptions.maxByteLength
-Parameter des [ArrayBuffer()
]-Konstruktors](/de/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/ArrayBuffer#maxbytelength) angegeben. Die EigenschaftenArrayBuffer.prototype.resizable
undArrayBuffer.prototype.maxByteLength
zeigen an, ob der Puffer geändert werden kann und welche maximale Größe er haben darf.
- Wachsen des
HTTP
- Der HTTP-Header
Accept
in Standardanfragen und Bildanfragen enthält nun den MIME-Typimage/svg+xml
(Firefox-Bug 1711622). - Das RFC 9218: Erweiterbares Priorisierungsschema für HTTP wird nun unterstützt, einschließlich des HTTP-Anfrage- und Antwort-Headers
Priority
, der es Clients ermöglicht, die erwartete relative Priorität für über eine Verbindung gesendete Ressourcen anzugeben, sowie der HTTP/2- und HTTP/3-PRIORITY_UPDATE
-Frames, mit denen die Priorität nach dem Senden des Headers nachträglich 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 beschreibt, die für die Kodierung und Übertragung von Medien auf den Empfangs- bzw. Senderstrecken verwendet werden (Firefox-Bug 1534687).Request.bytes()
undResponse.bytes()
werden jetzt als bequeme Möglichkeit unterstützt, einUint8Array
von einerRequest
undResponse
zu erhalten (Firefox-Bug 1896475).PushMessageData.bytes()
wird jetzt unterstützt, um die Daten einer Push-Nachricht als Byte-Array in einemUint8Array
-Objekt zurückzugeben (Firefox-Bug 1897871).Blob.bytes()
wird unterstützt, um die Daten einesBlob
als Byte-Array 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 Präsentation verschlüsselter Mediendaten für einen "hypothetischen" Schlüssel basierend auf angegebenen Richtlinienanforderungen wie der vom System unterstützten Version des High-bandwidth Digital Content Protection (HDCP) zulässt. Dies bietet einer Anwendung einen einfachen Mechanismus zu wissen, ob die Wiedergabe in optimaler Auflösung zulässig ist, ohne eine Medien-Key-Sitzung zu erstellen oder eine echte Lizenz zu erhalten (Firefox-Bug 1878714).RTCRtpTransceiver.setCodecPreferences()
wird jetzt unterstützt, um die Codecs festzulegen, die ein WebRTC-lokaler Peer für das Dekodieren empfangener Daten verwenden kann, in der bevorzugten Codec-Reihenfolge. Webanwendungen können dies verwenden, um den Remotepeer zu veranlassen, einen bevorzugten Codec auszuwählen und die Aushandlung bestimmter Codecs zu deaktivieren — einschließlich derer, die für Wiederübertragung, Redundanz und Vorwärtsfehlerkorrektur verwendet werden (Firefox-Bug 1396922).- Die Serialisierung von deklarativem Shadow DOM, einschließlich der Methoden
ShadowRoot.getHTML()
undElement.getHTML()
, sowie der zugehörigen EigenschaftenShadowRoot.serializable
undHTMLTemplateElement.shadowRootSerializable
. - Das
CSSPropertyRule
-Interface wird jetzt standardmäßig unterstützt und repräsentiert eine CSS-At-Regel@property
. Das Interface ermöglicht es, die Werte zu erhalten, einschließlichname
,syntax
,inherits
undinitialValue
, die mit der@property
-At-Regel definiert sind (Firefox-Bug 1864818). - Die Methode
registerProperty()
wird jetzt standardmäßig unterstützt. Sie ermöglicht die Definition von CSS-Benutzereigenschaften über JavaScript, ähnlich wie mit der@property
-At-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 mehr unterstützt (Firefox-Bug 1336404).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Unterstützung für die erweiterte "unhandledPromptBehavior"-Fähigkeit, die entweder ein String (WebDriver klassisch) oder ein JSON-Objekt (WebDriver BiDi) sein kann. Der Objekttyp bietet mehr Funktionen für WebDriver BiDi, wie die Handhabung von "beforeunload"-Aufforderungen (Firefox-Bug 1884650).
WebDriver BiDi
- Unterstützung für das "BiDi-Flag" einer WebDriver-Sitzung zur Angleichung an die Spezifikation von WebDriver BiDi hinzugefügt. Dies ermöglicht die Identifikation von Sitzungen, die für WebDriver BiDi erstellt oder aufgerüstet wurden (Firefox-Bug 1898719).
- Unterstützung für mehrere Argumente für den
network.continueRequest
-Befehl hinzugefügt, der nun die Möglichkeit bietet, 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 impermissions.setPermission
-Befehl hinzugefügt, das es ermöglicht, eine Berechtigung für einen bestimmten Benutzerkontext zu isolieren (in Firefox als Container implementiert) (Firefox-Bug 1894217). - Ein Fehler im
browsingContext.navigate
-Befehl behoben, bei dem ein Navigationsfehler eine Fehlerseite laden und nachfolgende Befehle fehlschlagen ließ (Firefox-Bug 1878690). - Die Reihenfolge, in der
network.responseCompleted
-Ereignisse für Weiterleitungen emittiert werden, wurde behoben. DasresponseCompleted
des ursprünglichen Antrags wird jetzt immer vor den Ereignissen für die Weiterleitung emittiert (Firefox-Bug 1879580). - Um dem aktuellen Firefox-Verhalten zu entsprechen, wurde die Umgehung eingeführt, Cookies, die mit dem
storage.setCookie
-Befehl für dieselbe Domain wie die im Zielkontext geladene Seite hinzugefügt wurden, nicht zu partitionieren (Firefox-Bug 1898222). - Der
input.setFiles
-Befehl wurde aktualisiert, sodass einUnsupportedOperation
-Fehler ausgelöst wird, wenn die angegebene Datei nicht existiert (Firefox-Bug 1887644).
Marionette
- Unterstützung für das "HTTP-Flag" einer WebDriver-Sitzung zur Angleichung an die WebDriver klassisch-Spezifikation hinzugefügt. Dies ermöglicht die Identifikation von Sitzungen, die für WebDriver klassisch erstellt wurden (Firefox-Bug 1884090).
- Unterstützung für die Permissions API im WebDriver Classic hinzugefügt (Firefox-Bug 1524074).
Änderungen für Add-On-Entwickler
- Fügt die Möglichkeit hinzu, Regeln in statischen deklarativen Netzwerkanforderungsregelsets mit
declarativeNetRequest.updateStaticRules
zu aktivieren und zu deaktivieren und deaktivierte Regeln für ein statisches Regelset mitdeclarativeNetRequest.getDisabledRuleIds
aufzulisten (Firefox-Bug 1810762). - Eine statische deklarative Netzwerkanforderungsregel, die durch den
declarative_net_request
Manifest-Schlüssel definiert wird, wird jetzt geladen, 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 stellen die maximale Anzahl an dynamischen und sitzungsgebundenen Regeln dar, die eine Erweiterung hinzufügen kann. Sie ersetzenMAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
, das jetzt veraltet ist (Firefox-Bug 1894128). - Der Standardwert der
proxy.settings
-EigenschaftproxyDNS
ist jetztfalse
bei der Verwendung von SOCKS4 undtrue
bei der Verwendung von SOCKS5. Zuvor war er auffalse
für SOCKS4 und SOCKS5 voreingestellt (Firefox-Bug 1741375). - Unterstützung hinzugefügt für
webRequest.onAuthRequired
, um Authentifizierungsanfragen asynchron zu behandeln, indem"asyncBlocking"
imaddListener
-ParameterextraInfoSpec
spezifiziert wird (Firefox-Bug 1889897). - Der Manifest-Schlüssel optional_host_permissions wurde hinzugefügt. Dieser Schlüssel ermöglicht Laufzeitanfragen für Zugriff (Zugriff, der dem Nutzer nach der Installation einer Erweiterung gewährt wird) 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 markiert. Die Verwendung dieser Ereignisse sollte aus Erweiterungsdokumenten entfernt werden, bevor Firefox 131 veröffentlicht wird (Firefox-Bug 1898445). - Unterstützung jetzt für Skripte, die in der Ausführungsumgebung der Webseite laufen. Dies wird durch Unterstützung von
MAIN
inExecutionWorld
für diescripting
API, die Hinzufügung vonworld
zurcontentScripts.register()
API und Unterstützung vonworld
imcontent_scripts
Manifest-Schlüssel bereitgestellt (Firefox-Bug 1736575). - Die
scripting
-API kann nun Skripte und CSS in sandboxierte Seiten mitabout:blank
,about:srcdoc
unddata:
-URLs injizieren. 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
inscripting.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
, wodurch Skripte inabout:
,data:
undblob:
-Seiten injiziert werden können, wenn der Dokumentursprung aufgrund 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, nun nur aufblob:
-Seiten laufen, wennmatch_origin_as_fallback
auftrue
gesetzt ist (Firefox-Bug 1897113). - Unterstützung hinzugefügt für die
declarativeNetRequest.RuleCondition
-EigenschaftdomainType
(Firefox-Bug 1797408). - Erweiterungen, die eine unerkannte Eigenschaft im Manifest-Schlüssel
browser_specific_settings.gecko
enthalten, werden nun mit einer Warnung geladen. Zuvor traten bei der Installation solcher Erweiterungen Fehler auf. 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). - Kontextmenüs, die mit
menus.create
in Erweiterungen erstellt wurden, die ein nicht-persistentes Hintergrundskript verwenden, bleiben nun bei Erweiterungsneustarts zuverlässiger bestehen. Zuvor gab es Fälle, in denen die Menüregistrierung bei Neustarts verschwand (Firefox-Bug 1771328).
Experimentelle Web-Funktionen
Diese Funktionen sind neu in Firefox 128 ausgeliefert, sind jedoch 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-Header
Accept
in Standardanfragen und Bildanfragen kann so konfiguriert werden, dass er Unterstützung für den MIME-Typimage/jxl
anzeigt (Firefox-Bug 1711622). -
Cookies mit unabhängigem partitioniertem Status (CHIPS):
network.cookie.CHIPS.enabled
.CHIPS, oder "partitionierte Cookies", ermöglichen es Entwicklern, ein Cookie in den partitionierten Speicher durch die
partitioned
-Direktive desSet-Cookie
HTTP-Headers einzubinden. Wenn gesetzt, haben Cookies einen separaten Speicher für jede Website auf oberster Ebene und können nur innerhalb derselben obersten Website gelesen werden, auf der sie gesetzt wurden, und ihren Subdomains. Dies blockiert cross-site Tracking, ermöglicht jedoch weiterhin legitime Verwendungen von Drittanbieter-Cookies, wie das Bewahren des Zustands eingebetteter Karten oder Chat-Widgets über verschiedene Subdomains einer Website hinweg (Firefox-Bug 1898253). -
Privacy Preserving Attribution API (PPA):
dom.origin-trials.private-attribution.state
.Die PPA API bietet eine Alternative zum Tracking von Benutzern für die Werbezuordnung unter Verwendung des neuen
navigator.privateAttribution
-Objekts mit den MethodensaveImpression()
undmeasureConversion()
. Lesen Sie mehr über PPA im ursprünglichen Erklärer und der vorgeschlagenen Spezifikation. Dieses Experiment kann für Webseiten über origin trial oder im Browser durch Setzen der Einstellung auf1
aktiviert werden (Firefox-Bug 1900929).
Ältere Versionen
- Firefox 127 für Entwickler
- Firefox 126 für Entwickler
- Firefox 125 für Entwickler
- Firefox 124 für Entwickler
- Firefox 123 für Entwickler
- Firefox 122 für Entwickler
- Firefox 121 für Entwickler
- Firefox 120 für Entwickler
- Firefox 119 für Entwickler
- Firefox 118 für Entwickler
- Firefox 117 für Entwickler
- Firefox 116 für Entwickler
- Firefox 115 für Entwickler
- Firefox 114 für Entwickler
- Firefox 113 für Entwickler
- Firefox 112 für Entwickler
- Firefox 111 für Entwickler
- Firefox 110 für Entwickler
- Firefox 109 für Entwickler
- Firefox 108 für Entwickler
- Firefox 107 für Entwickler
- Firefox 106 für Entwickler
- Firefox 105 für Entwickler
- Firefox 104 für Entwickler
- Firefox 103 für Entwickler
- Firefox 102 für Entwickler
- Firefox 101 für Entwickler
- Firefox 100 für Entwickler
- Firefox 99 für Entwickler
- Firefox 98 für Entwickler
- Firefox 97 für Entwickler