Firefox 140 for Developers Release Notes
本文件提供有關 Firefox 140 中影響開發人員的更改資訊。Firefox 140 於 2025 年 6 月 24 日釋出。
Web 開發人員的變更
HTML
無顯著變化。
CSS
- 現已支援 CSS Custom Highlight API。它提供了一種在文件中為任意文字範圍設定樣式的機制,概括了其他高亮偽元素(如
::selection、::spelling-error、::grammar-error和::target-text)的行為。您可以使用 JavaScript 中的Range例項定義文字範圍,這些例項被分組到Highlight中,然後使用HighlightRegistry以名稱註冊它們。您可以使用 CSS::highlight偽元素為已註冊的高亮應用樣式。(Firefox Bug 1964089)。
移除
- 在 HTML 規範 移除了 outline 演算法後,巢狀在 sectioning elements 中的
<h1>元素的 UA 樣式已被移除。以前,巢狀在<article>、<aside>、<nav>和<section>中的<h1>標題會顯示得更小。現在,無論巢狀如何,<h1>元素都具有一致的字型大小。(Firefox Bug 1964922)。
JavaScript
無顯著變化。
SVG
- 現已支援 SVG
<feimage>、<image>和<script>元素的 SVGfetchpriority屬性。它允許您向瀏覽器提示外部資源的相對優先順序。這與 HTML<img>和<script>元素的fetchpriority屬性工作方式相同。(Firefox Bug 1847712)。
API
-
現已支援 Cookie Store API(Firefox Bug 1958875)。
這提供了一種現代、非同步的、基於
Promise的 cookie 管理方法,可以在主執行緒和 Service Worker 中使用。該 API 受支援,但CookieStore介面的get()和getAll()方法以及change事件返回的 cookie 物件會省略name和value之外的所有屬性(與document.cookie返回的資訊匹配)。其他 cookie 屬性仍然可以被 設定,並且這些設定將被內部使用。
序列化 HTML 時,轉義屬性中的 < 和 >
Element.innerHTML、Element.outerHTML、Element.getHTML()、ShadowRoot.innerHTML和ShadowRoot.getHTML()在將 HTML 序列化為字串時,現在會將<和>字元分別替換為<和>。這可以防止某些將 HTML 序列化然後重新注入 DOM 的攻擊。(Firefox Bug 1962084)。
DOM
- 現已支援
pointerrawupdate事件。與相應的pointermove事件相比,此事件通常提供更低延遲的指標移動屬性訪問,並在指標資料可用時立即觸發。它適用於需要高精度輸入處理且僅使用合併的pointermove事件無法實現平滑互動的應用程式。由於監聽此事件可能會影響效能,因此您應避免將其用於其他用例。(Firefox Bug 1550462)。
移除
- 已移除
MutationEvent介面及其相關事件(DOMSubtreeModified、DOMNodeInserted、DOMNodeRemoved、DOMCharacterDataModified、DOMAttrModified)。(Firefox Bug 1963043)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 改進了 Marionette 和 WebDriver BiDi 中的 Actions 實現,以防止微任務在分發單個事件時被阻止。(Firefox Bug 1965183)
- 修復了一個 bug,該 bug 導致 WebDriver Classic 和 BiDi 命令(特別是 Action 命令)在等待 RequestAnimationFrame 時可能超時。(Firefox Bug 1947402)
WebDriver BiDi
- 為
browser.createUserContext命令添加了對acceptInsecureCerts引數的支援。此引數允許客戶端為特定的使用者上下文(也稱為 Firefox 容器)停用或啟用與證書相關的安全設定,並覆蓋為會話指定的設定。(Firefox Bug 1959372) - 實現了一個新的
browsingContext事件browsingContext.navigationCommitted,該事件應在為導航建立新文件後立即發出。(Firefox Bug 1945184) - 修復了各種
browsingContext事件意外為 webextension Browsing Contexts 發出的 bug。(Firefox Bug 1903272) - 已將
webExtension.uninstall命令更新為在為擴充套件 ID 提供空字串時丟擲NoSuchWebExtensionError。(Firefox Bug 1956945) - 已將
browsingContext.contextCreated和browsingContext.contextDestroyed事件更新為在所有剩餘情況下(包括 Firefox for Android)返回clientWindow屬性。此屬性對應於擁有 Browsing Context 的視窗的 ID。(Firefox Bug 1953743)
附加元件開發人員的變更
- 為
cookies.SameSiteStatus添加了對unspecified的支援。此外,unspecified現在是cookies.set()中sameSite的預設值。(Firefox Bug 1550032)
實驗性 Web 功能
這些功能已在 Firefox 140 中釋出,但預設停用。要試用它們,請在 about:config 頁面上搜索相應的首選項並將其設定為 true。您可以在“實驗性功能”頁面找到更多此類功能。
-
Notification.maxActions(Nightly):dom.webnotifications.actions.enabledNotification.maxActions只讀靜態屬性返回瀏覽器對可以與Notification關聯的運算元的限制,您可以使用ServiceWorkerRegistration.showNotification()來建立這些操作。此屬性在 Firefox 138 版本中過早釋出,此更改使其僅在 Nightly 版本中可用。(Firefox Bug 1963263)。 -
<dialog>的closedBy屬性 (Nightly):dom.dialog.light-dismiss.enabled現已支援
HTMLDialogElement介面的closedBy屬性,以及<dialog>元素的相應closedby屬性。開發人員可以使用這些屬性來指定哪些機制可以關閉對話方塊,例如對話方塊外部的使用者互動(“light dismiss”)或以程式設計方式關閉。(Firefox Bug 1964077)。 -
Atomics.waitAsync():javascript.options.atomics_wait_asyncAtomics.waitAsync()靜態方法在共享記憶體位置上非同步等待,並返回一個表示操作結果的物件。它是非阻塞的,可以在主執行緒上使用。(Firefox Bug 1467846)。 -
Prioritized Task Scheduling API (Nightly release)。Prioritized Task Scheduling API 提供了一種標準化的方法來確定應用程式所有任務的優先順序,無論這些任務是定義在網站開發者程式碼中,還是定義在第三方庫和框架中。這增加了對
TaskSignal.any()靜態方法的支援,該方法返回一個訊號,當其建立的任何TaskSignal物件被觸發時,該訊號就會被觸發。該 API 現在功能齊全。(Firefox Bug 1964407)。 -
CloseWatcher(Nightly - 僅限桌面):dom.closewatcher.enabled。CloseWatcher介面使您能夠實現可以使用裝置原生機制關閉的元件,就像內建元件一樣。例如,在 Windows 上,您可以使用此介面使自定義側邊欄在使用者按下 Esc 鍵時關閉。(Firefox Bug 1966459)。