Web 開發人員的變更
HTML
移除
<object>元素不再支援已棄用的codebase屬性。請改用data屬性。(更多詳情,請參閱 Firefox bug 1973900。)
CSS
@scope內的&選擇器不再繼承作用域起始選擇器的優先順序。這使得@scope中的&選擇器與 CSS 巢狀保持一致,避免了意外的優先順序差異(參見 CSS 巢狀和優先順序)。(Firefox bug 1975531)。
JavaScript
無顯著變化。
API
- 完全支援 URL Pattern API,使你能夠使用標準化的模式語法來匹配和解析 URL。(Firefox bug 1731418)。
- File and Directory Entries API 現在在 Firefox for Android 上完全支援
HTMLInputElement.webkitdirectory(以及對應的 HTMLwebkitdirectory屬性)和File.webkitRelativePath屬性。這允許你將<input type="file">元素配置為接受目錄而不是檔案(Firefox bug 1973726)。
DOM
- 現已支援
Selection.getComposedRanges()方法,允許開發者跨 Shadow DOM 邊界準確獲取選定的文字範圍。此外,Selection介面的setBaseAndExtent()、collapse()和extend()方法已被修改,可以接受 Shadow Root 內的節點。(Firefox bug 1903870)。 - 現已支援
Animation.overallProgress屬性,允許開發者跟蹤和顯示動畫的整體進度。(Firefox bug 1834878)。 Animation.commitStyles()方法不再要求在動畫上設定fill才能在動畫完成後提交計算樣式。請注意,在更多瀏覽器支援此更改之前,你仍應設定fill。(Firefox bug 1973203)。- 現已支援優先順序任務排程 API,為應用程式提供了一種標準化的機制來分配和管理任務優先順序。支援的介面包括:
Scheduler、TaskController、TaskSignal、TaskPriorityChangeEvent(以及prioritychange事件),以及Window.scheduler和WorkerGlobalScope.scheduler屬性。不支援Scheduling介面和Navigator.scheduling屬性。(Firefox bug 1966997)。
媒體、WebRTC 和 Web Audio
- 現已支援
RTCIceCandidatePairStats字典的currentRoundTripTime、totalRoundTripTime和responsesReceived屬性。它們返回當前的往返時間(RTT)以及計算連線平均 RTT 所需的資訊。(Firefox bug 1371391)。 RTCRtpSender介面的setParameters()和getParameters()方法現在支援設定和獲取每個encoding所使用的特定codec。你還可以在傳遞給RTCPeerConnection介面的addTransceiver()方法的init.sendEncodings陣列中為每個編碼設定一個codec。(Firefox bug 1894137)。- 現已支援
RTCInboundRtpStreamStats介面的estimatedPlayoutTimestamp、framesAssembledFromMultiplePackets、freezeCount、jitterBufferMinimumDelay、jitterBufferTargetDelay、keyFramesDecoded、pauseCount、totalAssemblyTime、totalFreezesDuration和totalPausesDuration屬性。(Firefox bug 1926622)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 從 WebDriver 功能中移除了 FTP 代理支援(Firefox bug 1972670)。
- 將透過 WebDriver BiDi 和 WebDriver classic (Marionette) 設定的所有 Cookie 的過期值更新為最多 400 天(Firefox bug 1974394)。
WebDriver BiDi
- 實現了新的
emulation.setLocaleOverride命令,允許客戶端在 JavaScript API 中覆蓋區域設定(Firefox bug 1968952)。 - 改進了使用
browsingContext.createUserContext設定代理的功能:在noProxy屬性中添加了對.mozilla.org等主機模式的支援(Firefox bug 1977180),並修復了設定 HTTP 代理後無法導航到 HTTPS URL 的錯誤(Firefox bug 1977168)。 - 修復了在
browsingContext.print命令被browsingContext.close命令關閉標籤頁中斷後,browsingContext.create會失敗的錯誤(Firefox bug 1841125)。 - 更新了
session.end命令,以恢復所有被網路攔截阻塞的請求(Firefox bug 1974426)。
Marionette
- 更新了
WebDriver:AddCookie命令,當目標 Cookie 具有sameSite=none和secure=false屬性時會丟擲錯誤(Firefox bug 1977205)。 - 從
unexpected alert open錯誤訊息中移除了對話方塊文字值,因為現在可以透過data欄位獲取對話方塊文字(Firefox bug 1948236)。
附加元件開發人員的變更
- 在 Nightly 版本中,透過
cookies.set()建立的 Cookie 現在會進行驗證,無效的 Cookie 會被拒絕。在 Nightly 中實施此功能是為了監控任何可能出現的問題。計劃在未來的版本中在所有渠道強制執行驗證。(Firefox bug 1976197) cookies方法現在接受並返回expirationDate小數部分的毫秒數。(Firefox bug 1972757)- 添加了
browserAction.onUserSettingsChanged和action.onUserSettingsChanged事件,用於監聽影響擴充套件程式操作的使用者指定設定的更改。(Firefox bug 1828220) - 添加了
browserSettings.verticalTabs,使擴充套件程式能夠控制瀏覽器是水平還是垂直顯示標籤欄。(Firefox bug 1946600)
實驗性 Web 功能
-
anchor-size()(Nightly):layout.css.anchor-positioning.enabledCSS
anchor-size()函式可以相對於錨元素的尺寸來設定錨定位元素的大小、位置和外邊距。(Firefox bug 1972610)。 -
:heading和:heading():layout.css.heading-selector.enabledCSS
:heading偽類允許你一次性為所有標題元素(<h1>-<h6>)設定樣式,而無需單獨定位它們。CSS:heading()函式式偽類允許你為匹配<An+B>寫法的標題元素設定樣式。(Firefox bug 1974386)。 -
view-transition-name: match-element(Nightly):dom.viewTransitions.enabledCSS
view-transition-name屬性的match-element值自動為每個選定元素分配一個唯一的內部view-transition-name,而無需單獨命名它們。(Firefox bug 1956141)。 -
Integrity-Policy和Integrity-Policy-Report-Only(指令碼) (Nightly):security.integrity_policy.enabled現已支援用於指令碼資源的
Integrity-Policy和Integrity-Policy-Report-OnlyHTTP 標頭。它們分別允許網站對指令碼強制執行子資源完整性保證,或僅報告策略違規。(Firefox bug 1976656)。 -
Integrity-Policy和Integrity-Policy-Report-Only(樣式表):security.integrity_policy.stylesheet.enabled現已支援用於樣式表資源的
Integrity-Policy和Integrity-Policy-Report-OnlyHTTP 標頭。它們分別允許網站對策略強制執行或僅報告策略違規。(Firefox bug 1974247)。
這些功能隨 Firefox 142 一同釋出,但預設處於停用狀態。要體驗它們,請在 about:config 頁面搜尋相應的首選項並將其設定為 true。你可以在實驗性功能頁面上找到更多此類功能。