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-Zeilenumbrüche, Tabs oder das<
Zeichen mehr. Wenn solche Zeichen vorhanden sind, wird der Wert in_blank
geändert. Dies verhindert Angriffe durch unverarbeiteten Markup-Injection, die ein nicht geschlossenestarget
Attribut nutzen (Firefox Bug 1835157).
CSS
- Die relative Farbsyntax ist jetzt standardmäßig aktiviert. Die relative Farbsyntax ermöglicht es, einen Farbwert relativ zu einer Ursprungfarbe zu erstellen und erlaubt, 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 Barrierefreiheitsbaum des Browsers eingefügt. (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 Masonry-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
-
Größere
ArrayBuffer
und wachsendeSharedArrayBuffer
werden jetzt unterstützt, wodurch die Größe von Puffern geändert werden kann, ohne einen neuen Puffer zuzuweisen und Daten hineinzukopieren (Firefox Bug 1884150). Die zugehörigen Methoden und Eigenschaften sind:- Vergrößern Sie den
SharedArrayBuffer
mit der MethodeSharedArrayBuffer.prototype.grow()
. Die maximal zulässige Größe des Puffers wird mit demoptions.maxByteLength
Parameter desSharedArrayBuffer()
Konstruktors angegeben. DieSharedArrayBuffer.prototype.growable
undSharedArrayBuffer.prototype.maxByteLength
Eigenschaften geben an, ob der Puffer vergrößert werden kann und seine maximal erlaubte Größe. - Passen Sie die Größe des
ArrayBuffer
mit der MethodeArrayBuffer.prototype.resize()
an. Die maximal zulässige Größe des Puffers wird mit demoptions.maxByteLength
Parameter desArrayBuffer()
Konstruktors angegeben. DieArrayBuffer.prototype.resizable
undArrayBuffer.prototype.maxByteLength
Eigenschaften zeigen an, ob der Puffer in der Größe verändert werden kann, und seine maximal erlaubte Größe.
- Vergrößern Sie den
HTTP
- Der HTTP
Accept
Header in Standard- und Bildanfragen schließt jetzt den MIME-Typimage/svg+xml
ein (Firefox Bug 1711622). - Das RFC 9218: erweiterbare Priorisierungsschema für HTTP wird jetzt unterstützt, einschließlich des HTTP
Priority
Request- und Response-Headers, der es Clients ermöglicht, auf die erwartete relative Priorität von über eine Verbindung gesendeten Ressourcen hinzuweisen, und der 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 aktuellen Codecs beschreibt, die für die Kodierung und Übertragung von Medien auf den Empfangs- bzw. Sendespuren verwendet werden. (Firefox Bug 1534687).Request.bytes()
undResponse.bytes()
werden jetzt unterstützt als bequemes Mittel, um einUint8Array
von einemRequest
undResponse
zu erhalten. (Firefox Bug 1896475).PushMessageData.bytes()
wird jetzt unterstützt, um die Daten einer Push-Nachricht als ein Byte-Array in einemUint8Array
Objekt zurückzugeben. (Firefox Bug 1897871).Blob.bytes()
wird unterstützt, um die Daten einesBlob
als ein 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 Wiedergabe von verschlüsselten Mediendaten für einen "hypothetischen" Schlüssel basierend auf den angegebenen Richtlinienanforderungen wie der High-bandwidth Digital Content Protection (HDCP) Version, die vom System unterstützt wird, erlauben würde. Dies gibt einer Anwendung ein einfaches Mittel, um 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 lokales WebRTC-Peer zum Dekodieren empfangener Daten verwenden kann, in seiner bevorzugten Codec-Reihenfolge. Webanwendungen können dies verwenden, um das entfernte Peer zu veranlassen, einen bevorzugten Codec auszuwählen und die Verhandlung bestimmter Codecs zu deaktivieren — einschließlich derjenigen, die für Retransmission, Redundanz und Forward Error Correction verwendet werden. (Firefox Bug 1396922).- Die Serialisierung von deklarativem Shadow-DOM, einschließlich der Methoden
ShadowRoot.getHTML()
undElement.getHTML()
, und zugehörigen EigenschaftenShadowRoot.serializable
undHTMLTemplateElement.shadowRootSerializable
. - Das
CSSPropertyRule
Interface wird jetzt standardmäßig unterstützt und repräsentiert eine CSS@property
At-Regel. Die Schnittstelle ermöglicht es Ihnen, die Werte, einschließlichname
,syntax
,inherits
undinitialValue
, von CSS benutzerdefinierten Eigenschaften abzurufen, die mithilfe der@property
At-Regel definiert sind (Firefox Bug 1864818). - Die Methode
registerProperty()
wird jetzt standardmäßig unterstützt. Sie ermöglicht es, CSS benutzerdefinierte Eigenschaften über JavaScript zu definieren, was dem Verwenden der@property
At-Regel in CSS ähnelt (Firefox Bug 1864818).
Medien, WebRTC und Web Audio
Entfernungen
- Die nicht standardmäßige 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 "unhandledPromptBehavior" Fähigkeit, die entweder ein String (WebDriver classic) oder ein JSON-Objekt (WebDriver BiDi) sein kann. Der Objekttyp bietet mehr Fähigkeiten für WebDriver BiDi wie 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 konform zu sein. Dies ermöglicht die Identifizierung von Sitzungen, die für oder zu WebDriver BiDi erstellt oder aktualisiert wurden. (Firefox Bug 1898719)
- Unterstützung für mehrere Argumente für den
network.continueRequest
Befehl hinzugefügt, der es jetzt ermöglicht, Header, Cookies, Methode und den 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 erlaubt, eine Berechtigung auf einen bestimmten Benutzerkontext zu isolieren (umgesetzt als Container in Firefox). (Firefox Bug 1894217) - Ein Fehler im
browsingContext.navigate
behoben, bei dem ein Navigationsfehler eine Fehlerseite laden und nachfolgende Befehle fehlschlagen würde. (Firefox Bug 1878690) - Wir haben die Reihenfolge korrigiert, in der
network.responseCompleted
Ereignisse bei Umleitungen ausgegeben werden. DasresponseCompleted
der ursprünglichen Anfrage wird jetzt immer vor den Ereignissen für die Umleitung ausgegeben. (Firefox Bug 1879580) - Um sich mit dem aktuellen Firefox-Verhalten abzustimmen, haben wir den Workaround eingeführt, Cookies, die mit dem "storage.setCookie" Befehl für dieselbe Domain wie die geladene Seite im Zielkontext hinzugefügt werden, nicht zu partitionieren. (Firefox Bug 1898222)
- Der
input.setFiles
Befehl 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 Session hinzugefügt, um mit der WebDriver classic Spezifikation konform zu sein. Dies ermöglicht die Identifikation von Sitzungen, 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 Erweiterungsentwickler
- Fügt die Möglichkeit hinzu, Regeln in statischen deklarativen Netzanforderungsregelsätzen mit
declarativeNetRequest.updateStaticRules
zu aktivieren und zu deaktivieren sowie deaktivierte Regeln für einen statischen Regelsatz mitdeclarativeNetRequest.getDisabledRuleIds
aufzulisten (Firefox Bug 1810762). - Eine statische deklarative Netzanforderungsregel, die durch den
declarative_net_request
Manifest-Schlüssel definiert wird, 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
zudeclarativeNetRequest
ein. Diese Eigenschaften repräsentieren die maximale Anzahl dynamischer und sitzungsübergreifender 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 jetztfalse
bei Verwendung von SOCKS4 undtrue
bei Verwendung von SOCKS5. Bisher war der Standardwert sowohl für SOCKS4 als auch für SOCKS5false
(Firefox Bug 1741375). - Unterstützung wird jetzt für
webRequest.onAuthRequired
bereitgestellt, um Authentifizierungsanforderungen asynchron zu bearbeiten, indem"asyncBlocking"
imaddListener
ParameterextraInfoSpec
angegeben wird (Firefox Bug 1889897). - Der Manifest-Schlüssel optional_host_permissions wurde hinzugefügt. Dieser Schlüssel ermöglicht Laufzeitanfragen für den Zugriff (vom Nutzer gewährter Zugriff nach der Installation einer Erweiterung) auf die APIs in der Erweiterung, die Hostdaten lesen oder ändern (Firefox Bug 1766026).
- Die nicht standardmäßigen Web-API-Events
overflow
undunderflow
wurden als veraltet erklärt. Die Verwendung dieser Events sollte vor der Veröffentlichung von Firefox 131 aus den Erweiterungsdokumenten entfernt werden (Firefox Bug 1898445). - Unterstützung wird jetzt bereitgestellt für Skripte um im Ausführungsumfeld der Webseite zu laufen. Dies wird durch Unterstützung für
MAIN
inExecutionWorld
für diescripting
API, die Ergänzung vonworld
zurcontentScripts.register()
API und die Unterstützung vonworld
imcontent_scripts
Manifest-Schlüssel umgesetzt (Firefox Bug 1736575). - Die
scripting
API kann jetzt Skripte und CSS in sandboxed Seiten 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. - Inhalte-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
, was das Injizieren von Skripten inabout:
,data:
undblob:
Seiten ermöglicht, wenn der Dokumentursprung aufgrund der Verwendung von CSP oder iframe-Sandboxing undurchsichtig ist (Firefox Bug 1475831 und Firefox Bug 1896669). Zusätzlich können Skripte, die mit demcontent_scripts
Manifest-Schlüssel registriert sind, jetzt 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, laden jetzt mit einer Warnung. Zuvor verursachten diese Erweiterungen bei der Installation einen Fehler. 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).
Experimentelle Webfeatures
Diese Features sind neu in Firefox 128 enthalten, aber standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie auf der about:config
Seite nach der entsprechenden Einstellung und setzen Sie sie auf true
. Weitere solcher Features 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 Standard- und Bildanfragen kann so konfiguriert werden, dass er Unterstützung für denimage/jxl
MIME-Typ signalisiert. (Firefox Bug 1711622). -
Cookies mit unabhängigem partitioniertem Zustand (CHIPS):
network.cookie.CHIPS.enabled
.CHIPS, oder "partitionierte Cookies", erlauben es Entwicklern, ein Cookie mit dem
partitioned
Befehl desSet-Cookie
HTTP-Headers in einen partitionierten Speicher einzuoptieren. Wenn gesetzt, haben Cookies getrennte Speicher für jede Top-Level-Site und können nur innerhalb derselben Top-Level-Site gelesen werden, auf der sie gesetzt wurden, sowie deren Subdomains. Dies blockiert Cross-Site-Tracking, während es legitime Anwendungen von Drittanbieter-Cookies wie das Beibehalten des Zustands eingebetteter Karten oder Chat-Widgets über verschiedene Subdomains einer Site ermöglicht. (Firefox Bug 1898253). -
Datenschutzerhaltende Attributions-API (PPA):
dom.origin-trials.private-attribution.state
.Die PPA API bietet eine Alternative zur Benutzerverfolgung für Anzeigenattribution mit dem neuen
navigator.privateAttribution
Objekt, das die MethodensaveImpression()
undmeasureConversion()
enthält. Lesen Sie mehr über PPA im Erklärer. 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 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