Web 開發人員的變更
HTML
<base>元素的target屬性現在禁止使用 ASCII 換行符、製表符或<字元,如果存在任何這些字元,則將值更改為_blank。這可以防止使用未封閉的target屬性的懸空標記注入攻擊 (Firefox bug 1835157)。
CSS
- 相對顏色語法現在預設啟用。相對顏色語法允許你建立相對於原始顏色的顏色值,並允許你使用 顏色函式在不同的顏色空間中更改顏色 (Firefox bug 1900251)。
- 包含影像的內容的
content屬性現在支援替代文字。然後,替代文字會暴露給瀏覽器的可訪問性樹。(請參閱 Firefox bug 1281158 和 Firefox bug 1896047)。 @propertyat-rule 的syntax描述符現在支援<string>語法元件名稱。(請參閱 Firefox bug 1846635)。
移除
- 砌體佈局屬性
align-tracks和justify-tracks已被移除。這些屬性僅在 Firefox 中實現,並且最近從規範中刪除 (Firefox bug 1900195)。
JavaScript
- 現在支援可調整大小的
ArrayBuffer和可增長的SharedArrayBuffer,允許在不分配新緩衝區並向其中複製資料的情況下更改緩衝區的大小 (Firefox bug 1884150)。相關方法和屬性是:- 使用
SharedArrayBuffer.prototype.grow()方法增長SharedArrayBuffer。允許的最大緩衝區大小使用SharedArrayBuffer()建構函式的options.maxByteLength引數指定。SharedArrayBuffer.prototype.growable和SharedArrayBuffer.prototype.maxByteLength屬性分別指示緩衝區是否可以增長及其允許的最大大小。 - 使用
ArrayBuffer.prototype.resize()方法調整ArrayBuffer的大小。允許的最大緩衝區大小使用ArrayBuffer()建構函式的options.maxByteLength引數指定。ArrayBuffer.prototype.resizable和ArrayBuffer.prototype.maxByteLength屬性分別指示緩衝區是否可以調整大小及其允許的最大大小。
- 使用
HTTP
- 預設請求和影像請求中的 HTTP
Accept標頭現在包含image/svg+xmlMIME 型別 (Firefox bug 1711622)。 - 現在支援 RFC 9218: HTTP 可擴充套件優先順序方案,包括 HTTP
Priority請求和響應標頭(允許客戶端提示透過連線傳送的資源的預期相對優先順序),以及 HTTP/2 和 HTTP/3PRIORITY_UPDATE幀(允許在傳送標頭後後續更改優先順序)(Firefox bug 1865040)。
API
- 現在支援
RTCRtpReceiver.getParameters()和RTCRtpSender.getParameters(),它們分別返回一個物件,描述接收器和傳送器軌道上用於媒體編碼和傳輸的當前編解碼器。(Firefox bug 1534687)。 - 現在支援
Request.bytes()和Response.bytes(),它們分別是從Request和Response獲取Uint8Array的便捷方式。(Firefox bug 1896475)。 - 現在支援
PushMessageData.bytes(),用於將推送訊息中的資料作為位元組陣列以Uint8Array物件返回。(Firefox bug 1897871)。 - 支援
Blob.bytes(),用於將Blob中的資料作為位元組陣列以Uint8Array物件返回。(Firefox bug 1896509)。 - 現在支援
MediaKeys.getStatusForPolicy(),用於檢查 CDM 模組(用於解密受 DRM 保護的內容)是否允許根據指定的策略要求(例如系統支援的高頻寬數字內容保護 (HDCP) 版本)呈現加密媒體資料,以檢查“假設”金鑰。這為應用程式提供了一種簡單的機制,可以預先知道是否允許以最佳解析度播放,而無需建立媒體金鑰會話或獲取真實許可證。(Firefox bug 1878714)。 - 現在支援
RTCRtpTransceiver.setCodecPreferences(),用於設定 WebRTC 本地對等方能夠用於解碼接收到的資料的編解碼器,並按照其首選編解碼器順序排列。Web 應用程式可以使用此功能使遠端對等方選擇首選編解碼器,並停用特定編解碼器的協商,包括用於重傳、冗餘和前向糾錯的編解碼器。(Firefox bug 1396922)。 - 宣告性 Shadow DOM 的序列化,包括方法
ShadowRoot.getHTML()和Element.getHTML(),以及相關的屬性ShadowRoot.serializable和HTMLTemplateElement.shadowRootSerializable。 CSSPropertyRule介面現在預設支援,並表示 CSS@propertyat-rule。該介面允許你獲取使用@propertyat-rule 定義的 CSS 自定義屬性的值,包括name、syntax、inherits和initialValue(Firefox bug 1864818)。registerProperty()方法現在預設支援。它允許你透過 JavaScript 定義CSS 自定義屬性,這類似於在 CSS 中使用@propertyat-rule (Firefox bug 1864818)。
媒體、WebRTC 和 Web Audio
移除
- 非標準的
HTMLMediaElement.seekToNextFrame()方法已被移除,現在任何瀏覽器都不支援該方法。(Firefox bug 1336404)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 我們現在支援擴充套件的“unhandledPromptBehavior”功能,它可以是字串(WebDriver 經典)或 JSON 物件(WebDriver BiDi)。物件型別為 WebDriver BiDi 提供了更多功能,例如處理“beforeunload”提示。(Firefox bug 1884650)
WebDriver BiDi
- 為 WebDriver Session 的“BiDi 標誌”添加了支援,以與 WebDriver BiDi 規範保持一致。這允許識別為 WebDriver BiDi 建立或升級的會話。(Firefox bug 1898719)
- 為
network.continueRequest命令添加了對幾個引數的支援,現在允許在請求透過網路傳送之前修改請求的標頭、Cookie、方法和正文。(Firefox bug 1850680) - 在
permissions.setPermission命令中添加了對userContext引數的支援,這允許將許可權隔離到特定的使用者上下文(在 Firefox 中實現為容器)。(Firefox bug 1894217) - 修復了
browsingContext.navigate中的一個錯誤,該錯誤會導致導航錯誤載入錯誤頁面並導致後續命令失敗。(Firefox bug 1878690) - 我們修復了為重定向發出的
network.responseCompleted事件的順序。原始請求的responseCompleted現在始終在重定向事件之前發出。(Firefox bug 1879580) - 為了與當前的 Firefox 行為保持一致,我們引入瞭解決方法,即不分割槽與目標上下文中載入的頁面具有相同域的透過“storage.setCookie”命令新增的 Cookie。(Firefox bug 1898222)
input.setFiles命令已更新為在指定檔案不存在時丟擲UnsupportedOperation錯誤。(Firefox bug 1887644)
Marionette
- 為 WebDriver Session 的“HTTP 標誌”添加了支援,以與 WebDriver 經典規範保持一致。這允許識別為 WebDriver 經典建立的會話。(Firefox bug 1884090)
- 在 WebDriver Classic 中添加了對 Permissions API 的支援。(Firefox bug 1524074)
附加元件開發人員的變更
- 添加了使用
declarativeNetRequest.updateStaticRules在靜態宣告性網路請求規則集中啟用和停用規則,以及使用declarativeNetRequest.getDisabledRuleIds列出靜態規則集停用規則的功能 (Firefox bug 1810762)。 - 一個靜態宣告性網路請求規則,即透過
declarative_net_request清單鍵定義的規則,現在在它包含無法識別的屬性但其他方面有效時載入 (Firefox bug 1886608)。 - 在
declarativeNetRequest中引入了MAX_NUMBER_OF_DYNAMIC_RULES和MAX_NUMBER_OF_SESSION_RULES。這些屬性表示擴充套件可以新增的動態和會話範圍規則的最大數量。它們取代了MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES,後者現在已棄用 (Firefox bug 1894128)。 - 當使用 SOCKS4 時,
proxy.settings屬性proxyDNS的預設值現在是false;當使用 SOCKS5 時,預設值是true。以前,SOCKS4 和 SOCKS5 都預設為false(Firefox bug 1741375)。 - 現在支援
webRequest.onAuthRequired透過在addListener引數extraInfoSpec中指定"asyncBlocking"來非同步處理身份驗證請求 (Firefox bug 1889897)。 - 已新增
optional_host_permissions清單鍵。此鍵為擴充套件中讀取或修改主機資料的 API 啟用執行時訪問請求(在擴充套件安裝後由使用者授予訪問許可權)(Firefox bug 1766026)。 - 非標準 Web API 事件
overflow和underflow已棄用。在 Firefox 131 釋出之前,應從擴充套件文件中移除這些事件的使用 (Firefox bug 1898445)。 - 現在支援指令碼在網頁執行環境中執行。這是透過對
scriptingAPI 的ExecutionWorld中的MAIN的支援,向contentScripts.register()API 新增world,以及在content_scripts清單鍵中支援world來提供的 (Firefox bug 1736575)。 scriptingAPI 現在可以將指令碼和 CSS 注入到帶有about:blank、about:srcdoc和data:URL 的沙盒頁面中。這已在 Firefox bug 1475831 中為scripting.executeScript、scripting.insertCSS和scripting.removeCSS實現,並在 Firefox bug 1853411 中透過向scripting.RegisteredContentScript引入matchOriginAsFallback為scripting.registerContentScripts和scripting.updateContentScripts實現。- 內容指令碼現在在沙盒
http、https和file:URL 上執行 (Firefox bug 1411641)。 - 清單鍵
content_scripts現在支援match_origin_as_fallback,contentScripts.register支援matchOriginAsFallback,允許在由於使用 CSP 或 iframe 沙盒而導致文件來源不透明時將指令碼注入到about:、data:和blob:頁面中 (Firefox bug 1475831 和 Firefox bug 1896669)。此外,現在只有當match_origin_as_fallback為true時,使用content_scripts清單鍵註冊的指令碼才能在blob:頁面中執行 (Firefox bug 1897113)。 - 為
declarativeNetRequest.RuleCondition屬性domainType添加了支援 (Firefox bug 1797408)。 - 包含
browser_specific_settings.gecko清單鍵中無法識別屬性的擴充套件現在會載入併發出警告。以前,這些擴充套件在安裝時會出錯。這確保瞭如果添加了新的browser_specific_settings.gecko屬性,使用該新屬性的擴充套件將在從本次釋出開始的 Firefox 版本中載入 (Firefox bug 1757293)。 - 使用非永續性後臺指令碼的擴充套件中透過
menus.create建立的上下文選單現在在擴充套件重新啟動後更可靠地保留。以前,在重新啟動時選單註冊會消失的情況 (Firefox bug 1771328)。
實驗性 Web 功能
這些功能在 Firefox 128 中是新推出的,但預設停用。要試用它們,請在 about:config 頁面上搜索相應的首選項並將其設定為 true。你可以在實驗性功能頁面上找到更多此類功能。
-
預設和影像請求的 Accept 標頭中的
image/jxlMIME 型別:image.jxl.enabled。預設請求和影像請求中的 HTTP
Accept標頭可以配置為指示對image/jxlMIME 型別的支援。(Firefox bug 1711622)。 -
具有獨立分割槽狀態的 Cookie (CHIPS):
network.cookie.CHIPS.enabled。CHIPS,或“分割槽 Cookie”,允許開發者使用
Set-CookieHTTP 標頭的partitioned指令將 Cookie 選擇加入分割槽儲存。設定後,Cookie 為每個頂級站點擁有單獨的儲存,並且只能在其設定的相同頂級站點及其子域中讀取。這阻止了跨站點跟蹤,同時仍然支援第三方 Cookie 的合法用途,例如在站點的不同子域之間持久化嵌入式地圖或聊天小部件的狀態。(Firefox bug 1898253)。 -
隱私保護歸因 API (PPA):
dom.origin-trials.private-attribution.state。PPA API 提供了一種替代使用者跟蹤的廣告歸因方法,使用新的
navigator.privateAttribution物件和saveImpression()和measureConversion()方法。有關 PPA 的更多資訊,請參閱原始直譯器和提議的規範。此實驗可以透過源試用或在瀏覽器中將首選項設定為1來為網站啟用。(Firefox bug 1900929)。