Web 開發人員的變更
HTML
無顯著變化。
CSS
align-content屬性已更新,現在可與display: block;佈局一起使用。這將flex和grid中的所有佈局位置帶到block,使開發人員無需將其容器轉換為flex或grid容器即可對齊塊級元素。 (Firefox bug 1882853)。- CSS 屬性
transform-box現在支援值content-box和stroke-box。對於參考框,content-box值使用 內容框,stroke-box值使用包含 SVG 形狀的描邊邊界框 (Firefox bug 1868374)。 content-visibilityCSS 屬性值auto現已預設啟用。這允許內容在不 與使用者相關 時跳過渲染。 (Firefox bug 1874874)。
JavaScript
- 現在支援
Intl.Segmenter,允許開發人員對字串執行區域敏感的文字分段。例如,這使得在不使用空格分隔單詞的語言中將字串拆分為單詞成為可能:Intl.Segmenter("ja-JP", { granularity: "word" })。您還可以將字串拆分為字素或句子。 (Firefox bug 1423593, Firefox bug 1883914)。
API
-
現在完全支援 Popover API,允許建立頂級“彈出”UI 元素,這些元素可用於操作選單、自定義“toast”通知、表單元素建議、內容選擇器等。彈出視窗及其觸發按鈕/輸入可以使用 HTML 屬性或 JavaScript 建立,並使用 CSS 進行樣式設定。
實現了以下 Web API
HTMLButtonElement屬性popoverTargetElement和popoverTargetAction。HTMLInputElement屬性popoverTargetElement和popoverTargetAction。HTMLElement屬性popover、hidePopover()、showPopover()和togglePopover()方法,以及beforetoggle和toggle_event事件(型別為ToggleEvent)。
以下 CSS 偽類和元素現在支援與 popovers 一起使用
:popover-open::backdrop已擴充套件以支援 popovers
支援以下 HTML 全域性屬性
-
現在支援
RTCIceTransport屬性state和gatheringState,以及它們關聯的事件statechange和gatheringstatechange,以及RTCDtlsTransport.iceTransport屬性(它返回RTCDtlsTransport的底層RTCIceTransport)。這些允許比RTCPeerConnection屬性iceGatheringState和connectionState提供的更細粒度的監控。 (Firefox bug 1811912) -
現在支援
Element.ariaBrailleLabel和Element.ariaBrailleRoleDescription,分別反映全域性 ARIA HTML 屬性aria-braillelabel和aria-brailleroledescription。 (Firefox bug 1861201)。 -
增加了支援,允許 Web 應用程式在畫布暫時丟失其 2D 上下文時優雅地恢復,這可能發生在畫布在 GPU 上硬體加速執行且其驅動程式崩潰時 (Firefox bug 1887729)。以下是有關丟失和恢復的畫布上下文事件的一些附加詳細資訊
- 應用程式可以監視
contextlost和contextrestored事件,這些事件分別在上下文丟失和恢復時在HTMLCanvasElement上觸發,並且還可以使用CanvasRenderingContext2D.isContextLost()檢查上下文。 - 在發出
contextlost後,瀏覽器預設會嘗試重新啟動丟失的上下文,但程式碼可以透過取消事件來阻止這種情況。 - 離屏畫布可以以相同的方式進行監控,但使用
OffScreenCanvas事件contextlost和contextrestored,以及OffscreenCanvasRenderingContext2D.isContextLost()。
- 應用程式可以監視
-
增加了對
<template>元素的shadowrootclonable屬性以及反映它的HTMLTemplateElement介面的shadowRootClonable屬性的支援。這些設定了使用<template>元素宣告性建立的ShadowRoot的clonable屬性。 (Firefox bug 1880188)。 -
現在支援
Clipboard介面的readText()方法,用於非同步從系統剪貼簿讀取文字。當讀取非同源頁面提供的剪貼簿資料時,將出現貼上上下文選單供使用者確認。 (Firefox bug 1877400)。
媒體、WebRTC 和 Web Audio
- 現在支援 加密媒體擴充套件 的 AV1 編解碼器,從而支援影片流提供商提供更高質量的播放。 (Firefox bug 1601817)。
移除
SVGAElement.text屬性已被刪除。textContent屬性(繼承自Node)得到廣泛支援,應改為使用。 (Firefox bug 1880689)。
WebAssembly
- 增加了對 Wasm 模組使用多個獨立線性記憶體的支援。多記憶體可以實現模組之間更高效的互操作性,併為即將推出的 Wasm 標準提供更好的 polyfill。例如,它們可用於為內部和共享資料、臨時和持久資料,或需要線上程之間共享的資料建立單獨的記憶體。記憶體可以在 JavaScript 中建立並匯入到 Wasm 模組中,或者在 Wasm 模組中建立並匯出。Wasm 例項中的每個新線性記憶體都給定一個從零開始的順序索引。WebAssembly 記憶體指令 使用索引來引用它們正在操作的記憶體,如果未指定索引,則預設為定義的第一個記憶體。有關更多資訊,請參閱《理解 WebAssembly 文字格式》中的 WebAssembly 記憶體。 (Firefox bug 1860816)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 增加了對 "userAgent" capability 的支援,該能力標識端點節點的預設 User-Agent 值 (Firefox bug 1885495)。
WebDriver BiDi
- 增加了對 input.setFiles 命令的支援,該命令允許設定或更新帶有
type="file"的<input>元素的檔案 (Firefox bug 1855040)。 - 增加了對 storage.deleteCookies 命令刪除 cookie 的支援 (Firefox bug 1854581)。
- 增加了對“userContext”作為 cookie 命令的“partition”引數欄位的支援 (Firefox bug 1875255)。
- 修復了 storage.getCookies 無法檢索給定“sourceOrigin”的所有預期 cookie 的問題 (Firefox bug 1884647)。
- 修復了僅啟用 WebDriver BiDi 作為遠端協議(即停用 CDP)時,推薦的首選項不會應用的問題 (Firefox bug 1882748)。
- 修復了建立並切換到新標籤頁時不會等待
visibilityState更新的問題 (Firefox bug 1877469)。
附加元件開發人員的變更
- 現在,
proxy.ProxyInfo屬性proxyAuthorization的內容會作為 CONNECT 請求的一部分傳遞給傳送到 HTTP 代理的Proxy-Authorization請求頭(除了對現有 HTTPS 代理的支援)(Firefox bug 1794464)。
實驗性 Web 功能
這些功能將在 Firefox 125 中釋出,但僅限於開發人員版本或在偏好設定後面。要嘗試這些功能,您可以在 about:config 頁面上搜索相關偏好設定,檢視它們是否已啟用或停用。要了解有關這些功能的更多資訊,請參閱實驗性功能頁面。
-
CSS
transition-behavior:layout.css.transition-behavior.enabled。在 Nightly 版本中,
transition-behavior屬性預設啟用。作者可以使用此屬性來控制是否將 CSS 轉換應用於具有 離散動畫型別 的屬性 (Firefox bug 1882408, Firefox bug 1805727)。 -
巢狀在分割槽元素中的
<h1>的 UA 樣式:layout.css.h1-in-section-ua-styles.enabled。當
<h1>標題巢狀在 分割槽元素<article>、<aside>、<nav>和<section>中時,其字型大小不再減小。由於大綱演算法 已從 HTML 規範中刪除,因此巢狀在分割槽元素中的<h1>的 UA 樣式不再相關。 (Firefox bug 1883896)。注意:此功能的偏好設定是相反的:在 Nightly 構建中設定為
false,這將刪除巢狀在分割槽元素中的標題的 UA 樣式。在所有其他渠道中,它設定為true,這將保留巢狀標題的現有 UA 樣式。