Web 開發人員的變更
HTML
- HTML
webkitdirectory屬性和相應的HTMLInputElement.webkitdirectory屬性現在在 Firefox Android 上得到部分支援(Firefox bug 1887878)。該屬性可以設定為指示<input type="file">元素應提供目錄選擇,而非檔案選擇。請注意,所選資料夾返回的檔案條目在 (File.webkitRelativePath) 中始終包含空字串,這意味著webkitdirectory不適用於需要目錄結構資訊的用例(Firefox bug 1973726)。
CSS
- CSS
font-variant-emoji屬性允許你設定顯示 emoji 的預設呈現樣式(Firefox bug 1954214)。
JavaScript
variants訪問器屬性現在在Intl.Locale例項上得到支援。此屬性將與區域設定相關的變體作為破折號(-)分隔的識別符號字串返回。它提供了一種比手動解析或修改區域設定字串更健壯的方式來獲取和設定語言識別符號的變體子標籤(Firefox bug 1970161)。- 顯式 資源管理 API,包括
using和await using宣告,DisposableStack、AsyncDisposableStack和SuppressedError物件,以及Symbol.dispose和Symbol.asyncDispose知名符號,現在均已支援。這些功能可確保在檔案控制代碼或流讀取器等資源超出作用域時自動清理,從而減少記憶體洩漏並簡化錯誤處理(Firefox bug 1967744)。
HTTP
Clear-Site-Data響應標頭中的"cache"指令現在會清除 bfcache(後退/前進快取)。這允許網站確保,如果使用者登出後進行後退導航,之前會話中可見的私人資訊不會暴露(Firefox bug 1930501)。
API
PointerEvent介面的persistentDeviceId屬性現在得到支援。它為與螢幕互動的每個指向裝置提供一個在會話期間持久存在的唯一 ID。它提供了一種可靠的方式來標識同時與螢幕互動的多個指向裝置(例如筆)(Firefox bug 1968400)。IntersectionObserver介面的scrollMargin屬性現在得到支援。它在觀察器根元素內的所有巢狀 滾動容器 上添加了一個邊距,這允許觀察器在目標元素滾動到檢視內之前(或之後)進行觀察,而不僅僅是在它們首次可見時(Firefox bug 1860030)。HTMLDialogElement介面的closedBy屬性以及<dialog>元素的相應closedby屬性現已支援。開發者可以使用這些屬性來指定關閉對話方塊的機制,例如使用者在對話方塊外部的互動(“淺層關閉”)或程式化關閉(Firefox bug 1964078)。HTMLElement介面的showPopover()和togglePopover()方法現在接受options.source引數,而togglePopover()還接受force或options.force引數(Firefox bug 1936411)。(Firefox bug 1936411)options.source建立了一個彈出視窗與其呼叫者(控制元件元素)之間的關係。與等效的宣告式屬性popovertarget一樣,這使得彈出視窗對鍵盤使用者更易於訪問(請參閱 Popover 可訪問性功能)。它還在兩者之間建立了一個隱式錨點引用,這使得彈出視窗相對於其控制元件的定位更加自然(請參閱 Popover 錨點定位)。togglePopover()的force或options.force引數可用於強制彈出視窗開啟或關閉,並且如果彈出視窗已處於強制狀態,則會被忽略。與showPopover()和hidePopover()不同,如果彈出視窗已處於目標狀態,此操作不會引發異常。
- WebGPU API 現在在 Windows 上完全支援,除 service worker 外的所有上下文中。這允許開發者使用使用者計算機的 圖形處理單元 (GPU) 執行計算和圖形渲染(Firefox bug 1972486)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 從 Firefox 中移除了實驗性的 CDP(Chrome DevTools Protocol)實現。因此,我們也移除了對
remote.active-protocols偏好的支援。有關此主題的更多詳細資訊,請參閱 Firefox Developer Experience(Firefox bug 1882096)。 - 移除了臨時的
remote.system-access-check.enabled偏好設定。在測試期間,此偏好設定不再用於停用在使用 WebDriver 訪問 Firefox 的 chrome 作用域時進行的系統訪問檢查(Firefox bug 1955007)。
WebDriver BiDi
- 為
browser.createUserContext命令添加了對 "proxy" 引數的支援。這允許客戶端在建立使用者上下文(即 Firefox Container)時設定 "direct" 或 "manual" 代理。稍後將新增對其他代理型別的支援(Firefox bug 1967653)。 - 實現了新的
browsingContext.historyUpdated事件,當在網頁上下文中呼叫history.pushState()、history.replaceState()或document.open()時會發出此事件(Firefox bug 1906051)。 - 改進了嘗試永久安裝未打包的、未簽名的 Web 擴充套件時顯示的錯誤訊息(Firefox bug 1958723)。
- 更新了
browsingContext.navigate和browsingContext.reload命令,以便在使用 "none" 的 "wait" 條件時等待browsingContext.navigationCommitted事件(Firefox bug 1967469)。 - 更新了 WebDriver BiDi cookie API,以支援 "sameSite" 屬性中的 "default" 值,以解決平臺 API 近期的更改,這些更改將不再允許在 HTTP 頁面上設定具有 "sameSite=None" 和 "secure=false" 的 cookie(Firefox bug 1971488)。
Marionette
- 為避免對每次呼叫
WebDriver:ElementClick(即使沒有導航發生)產生不必要的 200 毫秒延遲,我們將潛在導航的 click-and-wait 超時時間縮短至 50 毫秒以保持向後相容。該 超時時間現在也可以配置,使用者也可以透過偏好設定 完全停用(Firefox bug 1972271)。 - Marionette 中增加了與 CHIPS cookie(具有獨立分割槽狀態的 Cookie)互動的支援(Firefox bug 1972830)。
附加元件開發人員的變更
- 添加了
i18n.getPreferredSystemLanguages方法來檢索作業系統的首選區域設定。這補充了i18n.getAcceptLanguages,後者返回瀏覽器中設定的區域設定的詳細資訊(Firefox bug 1888486)。 - 增加了按 cookie 儲存 ID 過濾
tabs.onUpdated結果的能力(Firefox bug 1960011)。
實驗性 Web 功能
這些功能將在 Firefox 141 中釋出,但預設情況下是停用的。要嘗試使用它們,請在 about:config 頁面上搜索相應的偏好設定並將其設定為 true。您可以在 實驗性功能 頁面上找到更多此類功能。
-
:active-view-transition(Nightly):dom.viewTransitions.enabledCSS
:active-view-transition偽類允許你在單頁應用 (SPA) 中,在 檢視過渡 發生時對內容進行樣式設定(Firefox bug 1956140)。