Web 開發人員的變更
開發者工具
- 添加了停用拆分控制檯的選項(Firefox bug 1731635)。
HTML
無顯著變化。
MathML
移除
- 對垂直居中運算子(+、=、< 等)的自動調整已預設停用。此行為在 MathML Core 中未定義,並且僅作為非數學字型的解決方法而必需。透過將
mathml.centered_operators.disabled配置設定為false,仍然可以啟用此行為。(Firefox bug 1890531)。
CSS
- 現已支援
zoom屬性。可用於增大或減小元素及其內容的大小(Firefox bug 390936)。
JavaScript
無顯著變化。
HTTP
- 現已支援
Content-EncodingHTTP 標頭中的zstd指令,允許解碼使用 Zstandard 壓縮演算法編碼的伺服器傳送內容(Firefox bug 1871963)。
API
-
現已支援
IDBFactory.databases(),用於列舉可用的 IndexedDB API 資料庫(Firefox bug 934640)。 -
現可使用
IDBTransaction.durability查詢建立事務時使用的事務永續性提示(Firefox bug 1878143)。 -
現已支援
URL.parse()靜態方法,用於建立URL物件。如果傳入的引數未定義有效的URL,則返回null,因此可作為非丟擲異常的替代方法,用於使用URL 建構函式建立URL物件(Firefox bug 1823354)。 -
現已支援 螢幕喚醒鎖 API,允許 Web 應用程式請求在啟用期間螢幕不被調暗或鎖定。這對於導航和閱讀應用程式以及其他在使用過程中可能不會接收到常規觸覺輸入(通常會使螢幕保持喚醒狀態)的應用程式特別有用。該 API 在安全上下文中透過
Navigator.wakeLock訪問,該屬性返回一個WakeLock。這允許您請求一個WakeLockSentinel,可用於監視喚醒鎖的狀態並手動釋放它(Firefox bug 1589554, Firefox bug 1874849)。 -
所有
RTCIceCandidate屬性和方法現已得到支援並符合規範,但未實現的relayProtocol和url屬性除外。對RTCIceCandidate屬性進行了以下更改:- 以下屬性被設為只讀:
candidate、sdpMid、sdpMLineIndex和usernameFragment。 - 添加了以下屬性:
foundation、component、priority、address、protocol、port、type、tcpType、relatedAddress、relatedPort和usernameFragment。
- 以下屬性被設為只讀:
-
現已支援只讀屬性
Element.currentCSSZoom,用於獲取元素的有效 CSS zoom(Firefox bug 1880189)。
DOM
- 定義自定義元素的 state 並使用 CSS 選擇器匹配它們的功能現在已預設可用。自定義 state 表示為自定義識別符號,可以新增到元素的
ElementInternals.states屬性(一個CustomStateSet)或從中移除。CSS:state()偽類接受一個自定義識別符號作為引數,如果該識別符號存在於自定義元素的 state 集合中,則匹配該自定義元素(Firefox bug 1887543)。 - 現已支援
Selection.direction屬性,用於指示範圍的方向(Firefox bug 1867058)。
媒體、WebRTC 和 Web Audio
移除
<marquee>HTML 元素的bounce、finish和start事件已從HTMLMarqueeElement中移除,同時移除的還有相應的 事件處理程式屬性(Firefox bug 1689705)。- Theora 編解碼器已預設停用,並將在未來版本中移除(Firefox bug 1860492)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
WebDriver BiDi
- 向
network.addIntercept命令添加了contexts引數,以將網路請求的攔截限制在特定的頂層瀏覽上下文(Firefox bug 1882260)。 - 當
session.subscribe和session.unsubscribe命令的events或contexts引數值為空陣列時,這兩個命令現在都會引發invalid argument錯誤(Firefox bug 1887871)。 - 更新了
storage.getCookies命令的實現,以符合 Gecko 的預設 Cookie 行為。這使得可以移除network.cookie.cookieBehavior首選項的使用者值,該值僅預期會為我們的 CDP 實現設定(Firefox bug 1879503)。 - 移除了
browsingContext.locateNodes命令的ownership和sandbox引數,因為它們不再需要(Firefox bug 1884935)。 - 當未指定任何 capabilities 時,改進了
session.new命令的錯誤訊息(Firefox bug 1838152)。
附加元件開發人員的變更
commands.onCommand事件現在將tab引數傳遞給事件監聽器。這使得擴充套件程式可以在不呼叫tabs.query()方法的情況下,將觸發的快捷鍵應用於發出快捷鍵的頁面(Firefox bug 1843866)。runtime.MessageSender型別現在包含origin屬性。這使得訊息或連線請求可以檢視開啟連線的頁面或框架。這有助於在來源不明顯時識別是否可以信任該來源(Firefox bug 1787379)。- 現已支援
"webRequestAuthProvider"許可權。這提供了與 Chrome 的相容性,用於在 Manifest V3 中請求webRequest.onAuthRequired的許可權(Firefox bug 1820569)。 options_pagemanifest 鍵被提供為options_ui鍵的別名。此項是為了提供與 Chrome 更好的擴充套件相容性(Firefox bug 1816960)。tabs.captureVisibleTab方法現在也可以透過activeTab許可權啟用,從而提供與 Chrome 和 Safari 的相容性(Firefox bug 1784920)。
實驗性 Web 功能
這些功能已在 Firefox 126 中首次釋出,但預設停用。要嘗試使用它們,請在 about:config 頁面搜尋相應的偏好設定並將其設定為 true。您可以在 實驗功能頁面找到更多此類功能。
-
跨 Shadow DOM 邊界的選擇:
dom.shadowdom.selection_across_boundary.enabled。可以使用
Selection.getComposedRanges()方法獲取錨點或焦點節點位於 Shadow DOM 內的選擇範圍——前提是傳入包含這些節點的ShadowRoot物件。Selection方法setBaseAndExtent()、collapse()和extend()也已修改為接受 Shadow Root 內的節點(Firefox bug 1867058)。 -
CSS
shape()函式:layout.css.basic-shape-shape.enabled。可以使用
shape()函式在clip-path和offset-path屬性中定義形狀。此函式讓您可以更精細地控制定義的形狀,並提供了比path()函式的若干優勢(Firefox bug 1823463 用於shape()函式在clip-path中的支援,Firefox bug 1884424 用於shape()函式在offset-path中的支援,Firefox bug 1884425 用於shape()差值支援)。