Firefox 128 für Entwickler
Dieser Artikel liefert Informationen zu den Ä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 nun keine ASCII-Zeilenumbrüche, Tabulatoren oder das<
-Zeichen mehr. Sollte eines dieser Zeichen vorhanden sein, wird der Wert zu_blank
geändert. Dies verhindert hängende Markup-Injektionen, die ein nicht geschlossenestarget
-Attribut nutzen (Firefox Bug 1835157).
CSS
- Die Relative Farbsyntax ist jetzt standardmäßig aktiviert. Relative Farbsyntax ermöglicht es, einen Farbwert relativ zu einer Ausgangsfarbe zu erstellen, und erlaubt es, eine Farbe in einem anderen Farbraum mit Farb-Funktionen zu ändern (Firefox Bug 1900251).
- Die
content
-Eigenschaft unterstützt nun Alternativtext für Inhalte, die ein Bild enthalten. Der Alternativtext wird dann in den Zugänglichkeitsbaum des Browsers aufgenommen. (Siehe Firefox Bug 1281158 und Firefox Bug 1896047). - Der
syntax
-Deskriptor der@property
-Regel unterstützt jetzt den<string>
-Syntaxkomponenten-Namen. (Siehe Firefox Bug 1846635).
Entfernungen
- Die Mauerlayout-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, 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:- Vergrößerung des
SharedArrayBuffer
mit der MethodeSharedArrayBuffer.prototype.grow()
. Die maximal zulässige Größe des Puffers wird durch den Parameteroptions.maxByteLength
beimSharedArrayBuffer()
-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. - Anpassung des
ArrayBuffer
mit der MethodeArrayBuffer.prototype.resize()
. Die maximal zulässige Größe des Puffers wird durch den Parameteroptions.maxByteLength
beimArrayBuffer()
-Konstruktor angegeben. Die EigenschaftenArrayBuffer.prototype.resizable
undArrayBuffer.prototype.maxByteLength
geben an, ob der Puffer resized werden kann, und seine maximal zulässige Größe.
- Vergrößerung des
HTTP
- Der HTTP-Header
Accept
in Standardanfragen und Bildanfragen schließt nun den MIME-Typimage/svg+xml
ein (Firefox Bug 1711622). - Das RFC 9218: Extensible Prioritization Scheme for HTTP wird jetzt unterstützt, einschließlich des HTTP-Request- und Response-Headers
Priority
, der es Clients erlaubt, auf die erwartete relative Priorität für über eine Verbindung gesendete Ressourcen hinzuweisen, und die HTTP/2- und HTTP/3-PRIORITY_UPDATE
-Frames, die es ermöglichen, die Priorität nach dem Senden des Headers zu ändern (Firefox Bug 1865040).
APIs
RTCRtpReceiver.getParameters()
undRTCRtpSender.getParameters()
werden jetzt unterstützt, indem sie ein Objekt zurückgeben, das die aktuellen Codecs beschreibt, die für das Encoding und die Übertragung von Medien auf den Empfänger- und Sender-Tracks verwendet werden. (Firefox Bug 1534687).Request.bytes()
undResponse.bytes()
werden jetzt unterstützt und bieten eine bequeme Möglichkeit, einUint8Array
aus einemRequest
undResponse
zu erhalten. (Firefox Bug 1896475).PushMessageData.bytes()
wird jetzt unterstützt, um die Daten aus einer Push-Nachricht als Byte-Array in einemUint8Array
-Objekt zurückzugeben. (Firefox Bug 1897871).Blob.bytes()
wird unterstützt, um die Daten aus einemBlob
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 von verschlüsselten Mediadaten für einen "hypothetischen" Schlüssel basierend auf festgelegten Richtlinienanforderungen wie der vom System unterstützten High-bandwidth Digital Content Protection (HDCP)-Version ermöglichen würde. Dies bietet einer Anwendung eine einfache Möglichkeit, im Voraus zu wissen, ob die Wiedergabe in optimaler Auflösung erlaubt wird, ohne eine Mediaschlü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 lokaler WebRTC-Peer zum Dekodieren empfangener Daten verwenden kann, in der bevorzugten Codec-Reihenfolge. Webanwendungen können dies nutzen, um den Remote-Peer zu veranlassen, einen bevorzugten Codec auszuwählen und die Aushandlung bestimmter Codecs zu deaktivieren – einschließlich derer, die für Retransmission, Redundanz und Vorwärtsfehlerkorrektur 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 wird jetzt standardmäßig unterstützt und repräsentiert eine CSS-@property
-At-Regel. Die Schnittstelle ermöglicht es, die Werte, einschließlichname
,syntax
,inherits
undinitialValue
, von CSS-Benutzereigenschaften zu erhalten, die mit der@property
-Regel definiert sind (Firefox Bug 1864818). - Die Methode
registerProperty()
wird jetzt standardmäßig unterstützt. Sie ermöglicht es, CSS-Benutzereigenschaften über JavaScript zu definieren, ähnlich wie die 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 von keinem Browser mehr unterstützt. (Firefox Bug 1336404).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Die erweiterte "unhandledPromptBehavior"-Fähigkeit wird nun unterstützt, die entweder ein String (klassisches WebDriver) oder ein JSON-Objekt (WebDriver BiDi) sein kann. Der Objekttyp bietet mehr Fähigkeiten für WebDriver BiDi, wie die Handhabung von "beforeunload"-Eingabeaufforderungen. (Firefox Bug 1884650)
WebDriver BiDi
- Es wurde Unterstützung für das "BiDi-Flag" einer WebDriver-Sitzung hinzugefügt, um eine Vereinheitlichung mit der WebDriver-BiDi-Spezifikation zu erreichen. Dies ermöglicht es, Sitzungen zu identifizieren, die für oder zu WebDriver BiDi erstellt oder hochgestuft wurden. (Firefox Bug 1898719)
- Unterstützung für mehrere Argumente für den
network.continueRequest
-Befehl hinzugefügt, der nun 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 impermissions.setPermission
-Befehl hinzugefügt, das es ermöglicht, eine Berechtigung für einen bestimmten Benutzerkontext (implementiert als Container in Firefox) zu isolieren. (Firefox Bug 1894217) - Es wurde ein Fehler in
browsingContext.navigate
behoben, bei dem ein Navigationsfehler eine Fehlerseite laden und nachfolgende Befehle fehlschlagen ließ. (Firefox Bug 1878690) - Wir haben die Reihenfolge korrigiert, in der
network.responseCompleted
-Ereignisse für Weiterleitungen emittiert werden. Die ursprüngliche Anfrage'sresponseCompleted
wird jetzt immer vor den Ereignissen für die Weiterleitung emittiert. (Firefox Bug 1879580) - Um mit dem aktuellen Firefox-Verhalten übereinzustimmen, haben wir die Umgehung eingeführt, um keine Cookies zu partitionieren, die mit dem Befehl "storage.setCookie" für dieselbe Domain hinzugefügt werden wie die geladene Seite im Zielkontext. (Firefox Bug 1898222)
- Der
input.setFiles
-Befehl wurde so aktualisiert, dass er einenUnsupportedOperation
-Fehler auslöst, wenn die angegebene Datei nicht existiert. (Firefox Bug 1887644)
Marionette
- Unterstützung für das "HTTP-Flag" einer WebDriver-Sitzung hinzugefügt, um eine Vereinheitlichung mit der klassischen WebDriver-Spezifikation zu erreichen. Dies ermöglicht es, Sitzungen zu identifizieren, die für das klassische WebDriver erstellt wurden. (Firefox Bug 1884090)
- Unterstützung für die Permissions API im klassischen WebDriver hinzugefügt. (Firefox Bug 1524074)
Änderungen für Add-on-Entwickler
- Fügt die Möglichkeit hinzu, Regeln in statischen deklarativen Netzwerkanforderungs-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 Netzwerkanforderungsregel, die über den
declarative_net_request
definiert wurde, 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 repräsentieren die maximale Anzahl von dynamischen und sitzungsbezogenen Regeln, die eine Erweiterung hinzufügen kann. Sie ersetzenMAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
, welches jetzt veraltet ist (Firefox Bug 1894128). - Der Standardwert der Eigenschaft
proxy.settings
proxyDNS
ist jetztfalse
bei Verwendung von SOCKS4 undtrue
bei Verwendung von SOCKS5. Bisher war es bei SOCKS4 und SOCKS5 standardmäßigfalse
(Firefox Bug 1741375). - Unterstützung wird jetzt für
webRequest.onAuthRequired
bereitgestellt, um Authentifizierungsanfragen asynchron zu bearbeiten, indem"asyncBlocking"
imaddListener
-ParameterextraInfoSpec
angegeben wird (Firefox Bug 1889897). - Der manifestierte
optional_host_permissions
-Schlüssel wurde hinzugefügt. Dieser Schlüssel ermöglicht Laufzeitanfragen für den Zugriff (Zugriff gewährt vom Benutzer nach der Installation einer Erweiterung) 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 vor der Veröffentlichung von Firefox 131 aus Erweiterungsdokumenten entfernt werden (Firefox Bug 1898445). - Unterstützung wird jetzt bereitgestellt, damit Skripte in der Ausführungsumgebung der Webseite ausgeführt werden können. Dies wird durch die Unterstützung für
MAIN
inExecutionWorld
für diescripting
-API, die Hinzufügung vonworld
zurcontentScripts.register()
-API und die Unterstützung vonworld
imcontent_scripts
-Manifest-Schlüssel bereitgestellt (Firefox Bug 1736575). - Die
scripting
-API kann jetzt Skripte und CSS in Sandbox-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
zuscripting.RegisteredContentScript
implementiert. - Inhaltsskripte 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 Skripte, die mit demcontent_scripts
-Manifest-Schlüssel registriert sind, nur inblob:
Seiten laufen, 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 nun mit einer Warnung geladen. Bisher führten diese Erweiterungen zu einem Fehler bei der Installation. Dies stellt sicher, dass, wenn eine neue Eigenschaftbrowser_specific_settings.gecko
hinzugefügt wird, Erweiterungen, die diese neue Eigenschaft verwenden, in Firefox-Versionen zurück zu dieser Version geladen werden (Firefox Bug 1757293).
Experimentelle Web-Features
Diese Features sind neu in Firefox 128 verfügbar, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie die entsprechende Einstellung auf der Seite about:config
und setzen Sie sie auf true
. Weitere solcher Funktionen finden Sie auf der Seite Experimentelle Features.
-
image/jxl
MIME-Typ im Accept-Header für Standard- und Bildanfragen:image.jxl.enabled
.Der HTTP
Accept
-Header in Standardanfragen und Bildanfragen kann konfiguriert werden, um Unterstützung für denimage/jxl
-MIME-Typ anzuzeigen. (Firefox Bug 1711622). -
Unabhängig partitionierter Cookie-Status (CHIPS):
network.cookie.CHIPS.enabled
.CHIPS, oder "partionierte Cookies", ermöglichen es Entwicklern, einen Cookie über die
partitioned
-Direktive desSet-Cookie
-HTTP-Headers in einen partitionierten Speicher zu optieren. Wenn gesetzt, haben Cookies einen separaten Speicher für jede Top-Level-Seite und können nur innerhalb der gleichen Top-Level-Seite gelesen werden, auf der sie gesetzt wurden, und deren Subdomains. Dies blockiert das Cross-Site-Tracking, ermöglicht aber weiterhin legitime Verwendungsmöglichkeiten von Drittanbieter-Cookies wie das Speichern des Zustands eingebetteter Karten oder Chat-Widgets über verschiedene Subdomains einer Seite hinweg. (Firefox Bug 1898253). -
Privacy Preserving Attribution API (PPA):
dom.origin-trials.private-attribution.state
.Die PPA API bietet eine Alternative zum Benutzer-Tracking für Anzeigenzuordnung durch die neue
navigator.privateAttribution
-Objekt mitsaveImpression()
undmeasureConversion()
-Methoden. Lesen Sie mehr über PPA im Erklärer. Dieses Experiment kann für Webseiten über Origin Trial oder im Browser durch Setzen der Präferenz 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