Firefox 128 Versionshinweise für Entwickler
Dieser Artikel gibt 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 zu_blank, wenn eines davon vorhanden ist. Dies verhindert Angriffe durch hängendes Markup, die ein nicht geschlossenestarget-Attribut verwenden (Firefox-Bug 1835157).
CSS
- Die Relative Farbsyntax ist jetzt standardmäßig aktiviert. Die relative Farbsyntax ermöglicht es Ihnen, einen Farbwert relativ zu einer Ausgangsfarbe zu erstellen und ermöglicht es, eine Farbe in einem anderen Farbraum mithilfe von 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 weitergegeben. (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 Mauerwerkslayout-Eigenschaften
align-tracksundjustify-trackswurden entfernt. Diese Eigenschaften wurden nur in Firefox implementiert und kürzlich aus der Spezifikation entfernt (Firefox-Bug 1900195).
JavaScript
- Die größenveränderbaren
ArrayBufferund wachsendenSharedArrayBufferwerden jetzt unterstützt, was es ermöglicht, die Größe von Puffern zu ändern, ohne einen neuen Puffer zuzuweisen und Daten hineinzukopieren (Firefox-Bug 1884150). Die relevanten Methoden und Eigenschaften sind:- Vergrößern Sie
SharedArrayBuffermithilfe der MethodeSharedArrayBuffer.prototype.grow(). Die maximale erlaubte Größe des Puffers wird mit dem Parameteroptions.maxByteLengthdesSharedArrayBuffer()-Konstruktors angegeben. Die EigenschaftenSharedArrayBuffer.prototype.growableundSharedArrayBuffer.prototype.maxByteLengthzeigen an, ob der Puffer wachsen kann und seine maximal erlaubte Größe an. - Passen Sie die Größe von
ArrayBuffermithilfe der MethodeArrayBuffer.prototype.resize()an. Die maximale erlaubte Größe des Puffers wird mit dem Parameteroptions.maxByteLengthdesArrayBuffer()-Konstruktors angegeben. Die EigenschaftenArrayBuffer.prototype.resizableundArrayBuffer.prototype.maxByteLengthzeigen an, ob der Puffer geändert werden kann und seine maximal erlaubte Größe an.
- Vergrößern Sie
HTTP
- Der HTTP-Header
Acceptin Standardanfragen und Bildanfragen 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-Request- und Response-Headers
Priority, das es Clients ermöglicht, die erwartete relative Priorität für über eine Verbindung gesendete Ressourcen zu signalisieren, sowie die HTTP/2 und HTTP/3-PRIORITY_UPDATE-Frames, die eine nachträgliche Änderung der Priorität ermöglichen, nachdem der Header gesendet wurde (Firefox-Bug 1865040).
APIs
RTCRtpReceiver.getParameters()undRTCRtpSender.getParameters()werden jetzt unterstützt und geben ein Objekt zurück, das die aktuell für die Codierung und Übertragung von Medien auf den Empfänger- und Sender-Tracks verwendeten Codecs beschreibt. (Firefox-Bug 1534687).Request.bytes()undResponse.bytes()werden jetzt unterstützt, um bequem einUint8Arrayvon einerRequestund einerResponsezu erhalten. (Firefox-Bug 1896475).PushMessageData.bytes()wird jetzt unterstützt, um die Daten aus einer Push-Nachricht als Array von Bytes in einemUint8Array-Objekt zurückzugeben. (Firefox-Bug 1897871).Blob.bytes()wird unterstützt, um die Daten von einemBlobals Array von Bytes in einemUint8Array-Objekt zurückzugeben. (Firefox-Bug 1896509).MediaKeys.getStatusForPolicy()wird jetzt unterstützt, um zu prüfen, ob das CDM-Modul, das zum Entschlüsseln von DRM-geschützten Inhalten verwendet wird, die Präsentation von verschlüsselten Mediendaten für einen "hypothetischen" Schlüssel basierend auf festgelegten Richtlinienanforderungen wie der vom System unterstützten Version des High-bandwidth Digital Content Protection (HDCP) zulassen würde. Dies bietet einer Anwendung einen einfachen Mechanismus, um im Voraus zu wissen, ob die Wiedergabe in optimaler Auflösung erlaubt sein wird, ohne eine Medien-Schlü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 WebRTC-Lokalkontakt zum Dekodieren empfangener Daten verwenden kann, in seiner bevorzugten Codec-Reihenfolge. Webanwendungen können dies verwenden, um den entfernten Partner zu veranlassen, einen bevorzugten Codec auszuwählen und die Aushandlung bestimmter Codecs zu deaktivieren — einschließlich derjenigen, die für Übertragung, Redundanz und Fehlerkorrektur verwendet werden. (Firefox-Bug 1396922).- Serialisierung des deklarativen Schatten-DOM, einschließlich der Methoden
ShadowRoot.getHTML()undElement.getHTML(), und zugehöriger EigenschaftenShadowRoot.serializableundHTMLTemplateElement.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 zu erhalten, einschließlichname,syntax,inheritsundinitialValue, von in der@property-At-Regel definierten CSS-Benutzereigenschaften (Firefox-Bug 1864818). - Die Methode
registerProperty()wird jetzt standardmäßig unterstützt. Sie erlaubt es, CSS-Benutzereigenschaften über JavaScript zu definieren, was dem Verwenden der@property-At-Regel in CSS ähnelt (Firefox-Bug 1864818).
Media, 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
- Wir unterstützen jetzt die erweiterte "unhandledPromptBehavior"-Fähigkeit, die entweder eine Zeichenkette (WebDriver klassisch) oder ein JSON-Objekt (WebDriver BiDi) sein kann. Der Objekttyp bietet mehr Fähigkeiten für WebDriver BiDi, wie die Behandlung von "beforeunload"-Eingabeaufforderungen. (Firefox-Bug 1884650)
WebDriver BiDi
- Unterstützung für das "BiDi-Flag" einer WebDriver-Sitzung hinzugefügt, um sich an die WebDriver BiDi-Spezifikation anzupassen. Dies ermöglicht es, Sitzungen zu identifizieren, die für WebDriver BiDi erstellt wurden oder auf WebDriver BiDi aktualisiert wurden. (Firefox-Bug 1898719)
- Unterstützung für mehrere Argumente für den Befehl
network.continueRequesthinzugefügt, der jetzt das Modifizieren von Headern, Cookies, Methode und Körper einer Anfrage ermöglicht, bevor sie über das Netzwerk gesendet wird. (Firefox-Bug 1850680) - Unterstützung für das
userContext-Argument im Befehlpermissions.setPermissionhinzugefügt, das es ermöglicht, eine Erlaubnis zu isolieren, damit sie auf einen bestimmten Benutzerkontext angewendet wird (in Firefox als Container implementiert). (Firefox-Bug 1894217) - Ein Fehler in
browsingContext.navigatebehoben, bei dem ein Navigationsfehler eine Fehlerseite laden würde und nachfolgende Befehle fehlschlagen ließ. (Firefox-Bug 1878690) - Wir haben die Reihenfolge behoben, in der
network.responseCompleted-Ereignisse für Umleitungen ausgegeben werden. DieresponseCompleteddes ursprünglichen Antrags wird nun immer vor den Ereignissen für die Umleitung ausgegeben. (Firefox-Bug 1879580) - Um sich an das aktuelle Firefox-Verhalten anzupassen, haben wir die Umgehungslösung eingeführt, um keine Cookies zu partitionieren, die mit dem Befehl "storage.setCookie" für dieselbe Domain hinzugefügt werden wie die aufgeladene Seite im zielgerichteten Kontext. (Firefox-Bug 1898222)
- Der Befehl
input.setFileswurde aktualisiert, um einenUnsupportedOperationFehler auszulösen, wenn die angegebene Datei nicht existiert. (Firefox-Bug 1887644)
Marionette
- Unterstützung der "HTTP-Flag" einer WebDriver-Sitzung hinzugefügt, um sich an die WebDriver-Klassik-Spezifikation anzupassen. Dies ermöglicht es, Sitzungen zu identifizieren, die für WebDriver Klassik erstellt wurden. (Firefox-Bug 1884090)
- Unterstützung für die Permissions-API in WebDriver Klassik hinzugefügt. (Firefox-Bug 1524074)
Änderungen für Add-on-Entwickler
- Fügt die Möglichkeit hinzu, Regeln in statischen Deklarativen-Netzwerkanforderungsregelsets mit
declarativeNetRequest.updateStaticRuleszu aktivieren und zu deaktivieren und deaktivierte Regeln für ein statisches Regelset mitdeclarativeNetRequest.getDisabledRuleIdsaufzulisten (Firefox-Bug 1810762). - Eine statische deklarative Netzwerkanforderungsregel, die durch den
declarative_net_requestManifest-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_RULESundMAX_NUMBER_OF_SESSION_RULESindeclarativeNetRequestein. 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, die jetzt veraltet ist (Firefox-Bug 1894128). - Der Standardwert der
proxy.settings-EigenschaftproxyDNSist jetztfalsebei Verwendung von SOCKS4 undtruebei Verwendung von SOCKS5. Zuvor war er sowohl für SOCKS4 als auch für SOCKS5 auffalseeingestellt (Firefox-Bug 1741375). - Unterstützung wird jetzt für
webRequest.onAuthRequiredbereitgestellt, um Authentifizierungsanfragen asynchron zu behandeln, indem"asyncBlocking"imaddListener-ParameterextraInfoSpecangegeben wird (Firefox-Bug 1889897). - Der optional_host_permissions Manifest-Schlüssel wurde hinzugefügt. Dieser Schlüssel ermöglicht Laufzeitanfragen für den Zugriff (Zugriff, der von der Benutzerin oder dem Benutzer 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
overflowundunderflowwurden als veraltet markiert. Die Verwendung dieser Ereignisse sollte aus Erweiterungsdokumenten entfernt werden, bevor der Firefox 131 veröffentlicht wird (Firefox-Bug 1898445). - Unterstützung wird jetzt für Skripte bereitgestellt, um in der Ausführungsumgebung der Webseite zu laufen. Dies wird durch die Unterstützung für
MAINinExecutionWorldfür diescripting-API, die Hinzufügung vonworldzurcontentScripts.register()-API und die Unterstützung fürworldimcontent_scriptsManifest-Schlüssel erreicht (Firefox-Bug 1736575). - Die
scripting-API kann jetzt Skripte und CSS in sandboxed Seiten mitabout:blank,about:srcdocunddata:URLs injizieren. Dies wurde fürscripting.executeScript,scripting.insertCSS, undscripting.removeCSSin Firefox-Bug 1475831 undscripting.registerContentScriptsundscripting.updateContentScriptsin Firefox-Bug 1853411 implementiert, durch die Einführung vonmatchOriginAsFallbackinscripting.RegisteredContentScript. - Inhaltsskripte laufen jetzt auf sandboxed
http,httpsundfile:URLs (Firefox-Bug 1411641). - Der Manifests-Schlüssel
content_scripts](/de/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts) unterstützt jetztmatch_origin_as_fallbackundcontentScripts.registermatchOriginAsFallback, was es ermöglicht, Skripte inabout:,data:undblob:Seiten zu injizieren, wenn der Dokumenten-Ursprung aufgrund der Verwendung von CSP oder dem IFrame-Sandboxing undurchsichtig ist (Firefox-Bug 1475831 und Firefox-Bug 1896669). Zusätzlich können mit dem Manifests-Schlüsselcontent_scriptsregistrierte Skripten jetzt nur inblob:Seiten ausgeführt werden, wennmatch_origin_as_fallbackauftruegesetzt ist (Firefox-Bug 1897113). - Unterstützung für die
declarativeNetRequest.RuleCondition-EigenschaftdomainTypehinzugefügt (Firefox-Bug 1797408). - Erweiterungen, die eine nicht erkannte Eigenschaft im Manifest-Schlüssel
browser_specific_settings.geckoenthalten, werden jetzt mit einer Warnung geladen. Zuvor 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 bis zu diesem Release geladen werden (Firefox-Bug 1757293). - Kontextmenüs, die mit
menus.createin Erweiterungen erstellt wurden, die ein nicht-persistentes Hintergrundskript verwenden, bleiben jetzt zuverlässiger über Erweiterungs-Neustarts hinweg 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 verfügbar, jedoch standardmäßig deaktiviert. Um sie auszuprobieren, suchen Sie nach der entsprechenden Einstellung auf der about:config Seite und setzen Sie diese auf true. Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
image/jxlMIME-Typ im Accept-Header für Standard- und Bildanfragen:image.jxl.enabled.Der HTTP-Header
Acceptin Standardanfragen und Bildanfragen kann so konfiguriert werden, dass er die Unterstützung für den MIME-Typimage/jxlanzeigt. (Firefox-Bug 1711622). -
Cookies Having Independent Partitioned State (CHIPS):
network.cookie.CHIPS.enabled.CHIPS, oder "partitionierte Cookies", ermöglichen es Entwicklern, ein Cookie über die
partitioned-Direktive desSet-CookieHTTP-Headers in einen partitionierten Speicher einzubinden. Wenn eingestellt, haben Cookies für jede Top-Level-Site einen getrennten Speicher und können nur innerhalb derselben Top-Level-Site gelesen werden, auf der sie gesetzt wurden, und deren Subdomains. Dies blockiert das Tracking über Websites hinweg, während dennoch legitime Verwendungen von Drittanbieter-Cookies ermöglicht werden, wie die Aufrechterhaltung des Zustands eingebetteter Karten oder Chat-Widgets über verschiedene Subdomains einer Site hinweg. (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 die Werbezuordnung, indem das neue
navigator.privateAttribution-Objekt mit den MethodensaveImpression()undmeasureConversion()verwendet wird. Lesen Sie mehr über PPA im Original-Erklärer und die vorgeschlagene Spezifikation. Dieses Experiment kann für Websites über Herkunftstests oder im Browser durch Setzen der Einstellung auf1aktiviert werden. (Firefox-Bug 1900929).