Web 開發人員的變更
CSS
- 為了進一步實現錨點定位,
inset-areaCSS 屬性已重新命名為position-area。目前,此屬性僅在內部用於解析值。錨點定位功能正在透過一個首選項逐步推出。有關更多資訊,請參閱Firefox 中的實驗性功能:CSS 錨點定位。(Firefox bug 1909358 和 Firefox bug 1838746)。
JavaScript
- 已新增對同步迭代器輔助方法(包括:
Iterator.prototype.drop()、Iterator.prototype.every()、Iterator.prototype.filter()、Iterator.prototype.find()、Iterator.prototype.flatMap()、Iterator.prototype.forEach()、Iterator.prototype.map()、Iterator.prototype.reduce()、Iterator.prototype.some()和Iterator.prototype.take())的支援。這些輔助方法允許在迭代器上執行類似Array的操作,而無需建立中間Array物件。它們也可以與非常大的資料集一起使用,這些資料集甚至無法建立中間Array。有關更多資訊,請參閱Iterator介面中的迭代器輔助方法。(Firefox bug 1896390)。
HTTP
- 具有
SameSite=None屬性值的Set-CookieHTTP 標頭現在還必須包含Secure屬性。這可確保使用SameSite=None設定的 Cookie 僅透過 HTTPS 渠道傳送。此外,由於 Firefox 將未指定的SameSite值解釋為SameSite=None,因此未指定SameSite的 Cookie 將受到相同的限制。(Firefox bug 1909673)。 - 現在支援具有獨立分割槽狀態的 Cookie (CHIPS),也稱為“分割槽 Cookie”。此功能允許開發者使用
Set-CookieHTTP 標頭的partitioned指令將 Cookie 選擇加入分割槽儲存。設定後,Cookie 將為每個頂級站點擁有單獨的儲存,並且只能在設定它們的同一頂級站點及其子域中讀取。這可以阻止跨站點跟蹤,同時仍然支援第三方 Cookie 的合法用途,例如在站點不同子域之間持久化嵌入式地圖或聊天小部件的狀態。(Firefox bug 1908160)。
API
- 現在支援
PointerEvent介面的altitudeAngle和azimuthAngle屬性。它們分別提供了指標/觸控筆與螢幕(X-Y 平面)之間的角度,以及觸控筆相對於其 x 軸在螢幕上的旋轉角度。(Firefox bug 1656377)。 - 現在支援文字片段,允許使用者連結到網頁中的特定文字部分並高亮顯示。此功能在URL 片段中使用一種特定的語法,該語法根據渲染文字中的模式來識別目標。開發者現在還可以使用
Document.fragmentDirective屬性(FragmentDirective介面的例項)的存在來按功能檢查文字片段支援。此外,::target-text偽元素可用於選擇和樣式化透過文字片段連結選擇的文字。(Firefox bug 1914877)。 - 已更新
Document介面的caretPositionFromPoint()方法,以在提供相應陰影根的陰影 DOM 中返回文字節點和偏移量。可以透過新新增的options引數的shadowRoots屬性將ShadowRoot物件傳遞給該方法。(Firefox bug 1914596)。
WebAssembly
- 現在可以使用值為
exnref的新異常引用來幫助 WebAssembly 和 JavaScript 之間的雙向異常處理。(Firefox bug 1908375)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 對於 WebDriver Classic 和 BiDi,
keyUp和keyDown操作將不再接受value的多個字元。(Firefox bug 1910352)。
WebDriver BiDi
- 已新增對
network.continueResponse命令剩餘引數的支援- Cookie 和標頭引數。(Firefox bug 1853887)。
statusCode(例如,200、304)和reasonPhrase(例如,“OK”、“Not modified”)引數。(Firefox bug 1913737)。
- 如果
wait引數為none且觸發了beforeunload提示,browsingContext.navigate命令將不再返回。 - 根據規範要求,在所有導航失敗的情況下,
browsingContext.navigate命令將返回unknown error。(Firefox bug 1905083)。 - 如果
unhandledPromptBehavior能力未由客戶端作為引數指定,session.new命令將不再在其響應中包含該能力。(Firefox bug 1909455)。
附加元件開發人員的變更
- Firefox Nightly 131 現在強制執行
storage.sessionAPI 儲存資料的 10 MB 配額。以前,Firefox 沒有實現此配額。此強制執行將從版本 137 開始向 Firefox 的釋出版本推出(Firefox bug 1915688)。這使得依賴於先前行為的擴充套件可以糾正任何問題。(Firefox bug 1908925)。 storage.session現在支援storage.StorageArea.getBytesInUse()API 和storage.session.QUOTA_BYTES屬性。(Firefox bug 1908925)。- 當透過
tabs.update()更改openerTabId時,現在會觸發tabs.onUpdated。(Firefox bug 1409262)。 tabs.update現在接受將openerTabId設定為-1來清除openerTabId。(Firefox bug 1409262)。
實驗性 Web 功能
這些功能已在新版的 Firefox 131 中釋出,但預設情況下是停用的。要嘗試使用它們,請在 about:config 頁面上搜索相應的首選項,並將其設定為 true。您可以在實驗性功能頁面上找到更多此類功能。
-
正則表示式 (?ims-ims:...) 修飾符:
javascript.options.experimental.regexp_modifiers。正則表示式修飾符 (?ims-ims:...) 允許您進行更改,這些更改僅在正則表示式模式的特定部分生效。(Firefox bug 1899813)。
-
麥克風和攝像頭許可權:
permissions.media.query.enabled。現在可以在
Permissions.query()方法中使用microphone和camera許可權來測試是否已授予、拒絕或仍需要使用者批准對相應硬體的訪問。(Firefox bug 1609427 和 Firefox bug 1915222)。