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 nun keine ASCII-Neuzeilen, Tabs oder das<
Zeichen mehr und ändert den Wert in_blank
, falls diese vorhanden sind. Dies verhindert Angriffe durch hängende Markups, die ein nicht geschlossenestarget
Attribut nutzen (Firefox Bug 1835157).
CSS
- Die Relative Farbsyntax ist jetzt standardmäßig aktiviert. Diese Syntax erlaubt es, einen Farbwert relativ zu einer Ausgangsfarbe zu erstellen und ermöglicht das Ändern einer Farbe in einem anderen Farbraum mithilfe von Farb-Funktionen (Firefox Bug 1900251).
- Die
content
-Eigenschaft unterstützt nun alternativen Text für Inhalte, die ein Bild enthalten. Der alternative Text wird dann dem Accessibility-Tree des Browsers hinzugefügt. (Siehe Firefox Bug 1281158 und Firefox Bug 1896047). - Der
syntax
-Deskriptor der@property
@-Regel unterstützt nun den<string>
-Syntax-Komponenten-Namen. (Siehe Firefox Bug 1846635).
Entfernte Funktionen
- Die Eigenschaften
align-tracks
undjustify-tracks
für Mauerwerk-Layout wurden entfernt. Diese Eigenschaften waren nur in Firefox implementiert und wurden 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 hineinkopieren zu müssen (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 mittels desoptions.maxByteLength
-Parameters an denSharedArrayBuffer()
-Konstruktor angegeben. Die EigenschaftenSharedArrayBuffer.prototype.growable
undSharedArrayBuffer.prototype.maxByteLength
zeigen an, ob der Puffer erweiterbar ist und seine maximal erlaubte Größe. - Verändern Sie die Größe von
ArrayBuffer
mit der MethodeArrayBuffer.prototype.resize()
. Die maximal erlaubte Größe des Puffers wird mittels desoptions.maxByteLength
-Parameters an denArrayBuffer()
-Konstruktor angegeben. Die EigenschaftenArrayBuffer.prototype.resizable
undArrayBuffer.prototype.maxByteLength
zeigen an, ob der Puffer größenveränderbar ist, und seine maximal erlaubte Größe.
- Erweitern Sie
HTTP
- Der HTTP
Accept
-Header in Standardanfragen und Bildanfragen enthält nun 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
-Anfrage- und Antwort-Headers, der es Clienten erlaubt, die erwartete relative Priorität von Ressourcen, die über eine Verbindung gesendet werden, anzugeben, sowie die HTTP/2 und HTTP/3PRIORITY_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 aktuell verwendeten Codecs zur Kodierung und Übertragung von Medien auf den Empfänger- und Senderstrecken beschreibt. (Firefox Bug 1534687).Request.bytes()
undResponse.bytes()
werden jetzt als bequeme Methode unterstützt, um einUint8Array
aus einemRequest
und einerResponse
zu erhalten, jeweils. (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 aus einemBlob
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, welches zur Entschlüsselung 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 High-bandwidth Digital Content Protection (HDCP)-Version erlauben würde. Dies bietet einer Anwendung einen einfachen Mechanismus, um im Voraus zu wissen, ob das Abspielen in optimaler Auflösung erlaubt wird, ohne eine Medienschlüsselsitzung erstellen oder eine reale Lizenz abrufen zu müssen. (Firefox Bug 1878714).RTCRtpTransceiver.setCodecPreferences()
wird nun unterstützt, um die Codecs festzulegen, die ein lokaler WebRTC-Peer zur Dekodierung empfangener Daten in ihrer bevorzugten Codecreihenfolge verwenden kann. Webanwendungen können dies verwenden, um den entfernten Peer zu veranlassen, einen bevorzugten Codec auszuwählen und die Aushandlung bestimmter Codecs – einschließlich derjenigen, die für die Übertragung, Redundanz und Fehlerkorrektur verwendet werden – zu deaktivieren. (Firefox Bug 1396922).- Die Serialisierung von deklarem Schatten-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 es Ihnen, die Werte, einschließlichname
,syntax
,inherits
undinitialValue
, von CSS-Benutzereigenschaften abzurufen, die mit der@property
-Regel definiert wurden (Firefox Bug 1864818). - Die Methode
registerProperty()
wird nun standardmäßig unterstützt. Sie ermöglicht es Ihnen, CSS-Benutzereigenschaften über JavaScript zu definieren, was dem Verwenden der@property
-Regel in CSS ähnlich ist (Firefox Bug 1864818).
Medien, WebRTC und Web Audio
Entfernte Funktionen
- Die nicht-standardisierte Methode
HTMLMediaElement.seekToNextFrame()
wurde entfernt und wird nun von keinem Browser mehr unterstützt. (Firefox Bug 1336404).
WebDriver-Konformität (WebDriver-BiDi, Marionette)
Allgemein
- Wir unterstützen nun 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 z.B. das Handling 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 es, Sitzungen zu identifizieren, die für oder aufgerüstet zu WebDriver BiDi erstellt wurden. (Firefox Bug 1898719)
- Unterstützung für mehrere Argumente für den
network.continueRequest
-Befehl hinzugefügt, der es nun erlaubt, Header, Cookies, Methode und Body einer Anfrage zu modifizieren, bevor sie über das Netzwerk gesendet wird. (Firefox Bug 1850680) - Unterstützung für das
userContext
-Argument impermissions.setPermission
-Befehl hinzugefügt, der es erlaubt, eine Erlaubnis an einen bestimmten Benutzerkontext zu isolieren (in Firefox als Container implementiert). (Firefox Bug 1894217) - Ein Fehler in
browsingContext.navigate
behoben, bei dem ein Navigationsfehler eine Fehlerseite lud und nachfolgende Befehle fehlschlagen ließ. (Firefox Bug 1878690) - Wir haben die Reihenfolge korrigiert, in der
network.responseCompleted
-Ereignisse für Weiterleitungen emittiert werden. Das ursprüngliche Anfrage-responseCompleted
wird nun immer vor den Ereignissen für die Weiterleitung emittiert. (Firefox Bug 1879580) - Um mit dem aktuellen Firefox-Verhalten übereinzustimmen, haben wir den Workaround eingeführt, um Cookies nicht zu partitionieren, die mit dem „storage.setCookie“-Befehl für die gleiche Domain wie die im Zielkontext geladene Seite hinzugefügt werden. (Firefox Bug 1898222)
- Der
input.setFiles
-Befehl wurde aktualisiert, um einenUnsupportedOperation
-Fehler auszugeben, 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-Klasse-Spezifikation überein zu stimmen. Dies ermöglicht es, Sitzungen zu identifizieren, die für WebDriver Klasse 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
- Fügt die Fähigkeit hinzu, Regeln in statischen Deklarativen Netzwerkanfragerichtlinien-Sätzen mit
declarativeNetRequest.updateStaticRules
zu aktivieren und zu deaktivieren, sowie deaktivierte Regeln für einen statischen Regeln-Satz mitdeclarativeNetRequest.getDisabledRuleIds
aufzulisten (Firefox Bug 1810762). - Eine statische Deklarative Netzwerkanfragerichtlinie, die durch den
declarative_net_request
-Manifest-Schlüssel definiert wurde, wird nun 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
zudeclarativeNetRequest
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
, das jetzt veraltet ist (Firefox Bug 1894128). - Der Standardwert der
proxy.settings
-EigenschaftproxyDNS
ist nunfalse
bei der Verwendung von SOCKS4 undtrue
bei der Verwendung von SOCKS5. Bisher war sie für SOCKS4 und SOCKS5 standardmäßigfalse
(Firefox Bug 1741375). - Es wird nun Unterstützung für
webRequest.onAuthRequired
bereitgestellt, um Authentifizierungsanforderungen asynchron zu bearbeiten, indem"asyncBlocking"
imaddListener
-ParameterextraInfoSpec
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 nach der Installation einer Erweiterung gewährt wird) für die APIs in der Erweiterung, die Host-Daten lesen oder ändern (Firefox Bug 1766026).
- Die nicht-standardisierten Web-API-Ereignisse
overflow
undunderflow
wurden veraltet. Die Verwendung dieser Ereignisse sollte aus Erweiterungsdokumenten entfernt werden, bevor Firefox 131 veröffentlicht wird (Firefox Bug 1898445). - Unterstützung wird nun bereitgestellt, damit Skripte in der Webseitenausführungsumgebung laufen. Dies wird durch Unterstützung für
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 nun Skripte und CSS in sandboxed Seiten mitabout:blank
,about:srcdoc
unddata:
URLs einfügen. Dies wurde implementiert 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
. - Inhaltsskripte laufen nun auf sandboxed
http
,https
, undfile:
URLs (Firefox Bug 1411641). - Der Manifest-Schlüssel
content_scripts
unterstützt jetztmatch_origin_as_fallback
undcontentScripts.register
matchOriginAsFallback
, was es ermöglicht, Skripte inabout:
,data:
, undblob:
Seiten einzufügen, wenn der Dokumentursprung aufgrund der Verwendung von CSP oder iframe-Sandbox nicht transparent ist (Firefox Bug 1475831 und Firefox Bug 1896669). Darüber hinaus können Skripte, die mit demcontent_scripts
-Manifest-Schlüssel registriert wurden, 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, laden nun mit einer Warnung. Bisher führten diese Erweiterungen 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 ab dieser Veröffentlichung geladen werden (Firefox Bug 1757293). - Kontextmenüs, die mit
menus.create
in Erweiterungen erstellt werden, die ein nicht-persistentes Hintergrundskript verwenden, bleiben nun zuverlässiger über Erweiterungs-Neustarts hinweg erhalten. Bisher gab es Fälle, in denen die Menü-Registrierung nach Neustarts verschwand (Firefox Bug 1771328).
Experimentelle Web-Funktionen
Diese Funktionen werden in Firefox 128 neu ausgeliefert, sind jedoch standardmäßig deaktiviert. Um mit ihnen zu experimentieren, suchen Sie nach der entsprechenden Einstellung auf der Seite about:config
und setzen Sie sie auf true
. Sie können weitere solcher Funktionen auf der Seite Experimentelle Funktionen finden.
-
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). -
Cookies mit unabhängigem partitioniertem Zustand (CHIPS):
network.cookie.CHIPS.enabled
.CHIPS, oder "partitionierte Cookies", erlauben es Entwicklern, ein Cookie unter Verwendung der
partitioned
-Direktive desSet-Cookie
HTTP-Headers in eine partitionierte Speicherung zu optieren. Wenn gesetzt, haben Cookies eine separate Speicherung für jede Top-Level-Site und können nur innerhalb der gleichen Top-Level-Site und deren Subdomains gelesen werden, auf der sie gesetzt wurden. Dies blockiert das Cross-Site-Tracking, während legitime Verwendungen von Drittcookies wie das Persistieren des Zustands von eingebetteten Karten oder Chat-Widgets über verschiedene Subdomains einer Site hinweg erhalten bleiben. (Firefox Bug 1898253). -
Privacy Preserving Attribution API (PPA):
dom.origin-trials.private-attribution.state
.Die PPA API bietet eine Alternative zum Benutzertargeting zur Werbezuschreibung mit dem neuen Objekt
navigator.privateAttribution
mit den MethodensaveImpression()
undmeasureConversion()
. Lesen Sie mehr über PPA im Erklärer. Dieses Experiment kann für Websites via origin trial oder im Browser aktiviert werden, indem die Einstellung auf1
gesetzt wird. (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