Web 開發人員的變更
HTML
CSS
無顯著變化
JavaScript
- 現在支援
Error.captureStackTrace()靜態方法。此方法在提供的物件上安裝堆疊跟蹤資訊作為Error.stack屬性。它的主要用例是在不派生自Error介面的自定義錯誤物件上安裝堆疊跟蹤。( Firefox bug 1950508 )。 - 現在可以使用
Error.isError()靜態方法來檢查物件是否是Error或DOMException的例項。這比出於相同目的使用instanceof更可靠。( Firefox bug 1952249 )。 import宣告現在支援使用with屬性匯入 JSON 模組。
HTTP
Clear-Site-Data頭可以與cache(和*)指令一起使用,以清除瀏覽器網路快取。這使網站能夠更好地控制為其使用者儲存的資料,例如,透過在登出時清除快取來降低隱私洩露的風險。( Firefox bug 1942272 )。- HTTP
Origin-Agent-Cluster響應頭現在可由站點使用,以提示關聯文件應放置在基於源的 代理叢集中。在此類叢集中,文件使用的作業系統程序和/或其他作業系統資源僅與來自同一 源 的其他文件共享。這使得資源密集型文件不太可能降低來自其他源的文件的效能。開發人員可以使用window.originAgentCluster屬性測試瀏覽器是否已將文件放置在基於源的代理叢集中。( Firefox bug 1665474 )
API
- 在使用 聯邦憑證管理 (FedCM) API 時,現在支援 登入狀態 API。它可用於設定和檢查瀏覽器使用者是否已登入到身份提供商。這包括對
NavigatorLogin介面、navigator.login屬性和Set-LoginHTTP 響應頭的支援。( Firefox bug 1945576 和 Firefox bug 1945573 )。 - Web Audio API 現在支援
AudioWorklet.port和AudioWorkletGlobalScope.port上的雙向訊息傳遞。這允許在主執行緒程式碼和音訊工作器的全域性作用域之間進行自定義的非同步通訊,例如接收控制資料或全域性設定。( Firefox bug 1951240 ) - 現在支援
RTCCertificate介面的getFingerprints()方法。應用程式可以使用它來獲取證書的指紋,這些指紋可以在帶外共享,以便在 WebRTC 會話中識別特定使用者或瀏覽器。( Firefox bug 1525241 )。
DOM
媒體、WebRTC 和 Web Audio
- WebRTC 應用程式現在可以設定在由於網路降級而無法將幀速率和解析度都保持在配置水平時,優先考慮幀速率或解析度的偏好。該值使用傳遞給
RTCRtpSender介面的setParameters()方法的引數物件中的degradationPreference屬性進行設定。它也可以從getParameters()方法返回的物件中讀取。( Firefox bug 1329847 )。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- 所有遠端協議現在都啟用了將日誌正確傳輸到 stdout 所需的首選項 ( Firefox bug 1947740 )。
- 添加了一個新的 Firefox 引數
--remote-enable-system-access,用於啟用敏感功能,例如與父程序中的瀏覽上下文(例如瀏覽器 UI)互動或在內容程序中使用特權 API。這將在後續版本中用於 WebDriver BiDi 功能,並且已經可以與 Marionette 一起使用(參見下面的 Marionette 部分)(Firefox bug 1944565)。
WebDriver BiDi
webExtension.install命令現在預設臨時安裝 Web 擴充套件,允許它與未簽名擴充套件一起使用——無論是作為 XPI 檔案還是作為未打包資料夾。已添加了一個新的 Firefox 特定引數moz:permanent,以強制將其安裝為常規擴充套件 (Firefox bug 1947678)。browsingContext.setViewport命令現在支援userContexts引數,該引數必須是一個使用者上下文(Firefox 容器)ID 陣列。如果提供,視口配置將應用於屬於這些使用者上下文的所有瀏覽上下文,以及在這些上下文內建立的任何未來上下文。此引數不能與現有的context引數一起使用 (Firefox bug 1940952)。browsingContext.Info型別現在包含一個clientWindow屬性,對應於擁有瀏覽上下文的視窗的 ID。它通常由browsingContext.getTree返回或包含在browsingContext.contextCreated等事件的負載中 (Firefox bug 1920952)。
Marionette
- 現在,使用 Marionette 切換到
chrome(父程序)上下文需要在使用--remote-enable-system-access命令列標誌啟動 Firefox 時 (Firefox bug 1710425)。
附加元件開發人員的變更
- 在 Manifest V3 擴充套件的
menusAPI 中,為page_action提供支援作為menus.ContextType。這為 Manifest V3 擴充套件提供了與 Manifest V2 擴充套件相同的能力,即向page_action新增選單項。( Firefox bug 1951166 ) contextualIdentitiesAPI 不再在 Firefox for Android 中定義。以前,它已定義但有缺陷。( Firefox bug 1659500 )- 現在,Firefox for Android 不再識別
contextualIdentities許可權。以前,它啟用了一個損壞的“容器”功能版本。( Firefox bug 1659500 ) - 新的 Manifest V3 版本
userScriptsAPI 現已在 Firefox for Android 上可用。( Firefox bug 1949955 ) - 實現
webRequest.handlerBehaviorChangedAPI。在以前的版本中,此方法已公開但沒有任何作用。( Firefox bug 1657575 ) alarms.createAPI 現在返回一個 Promise,而不是 undefined。( Firefox bug 1869171 )- 增加了對選項卡組內選項卡操作的支援,包括新增
tabs.group()和tabs.ungroup()。( Firefox bug 1959714 )groupId到tabs.Tab。( Firefox bug 1959713 )groupId到tabs.query。( Firefox bug 1959715 )groupId到tabs.onUpdated。( Firefox bug 1959716 )
- 在 Firefox 中,
webRequest.ResourceType和declarativeNetRequest.ResourceType現在都支援json資源型別,並且預設啟用匯入屬性。以前,它被報告為script。( Firefox bug 1858078 和 Firefox bug 1950836 )
實驗性 Web 功能
這些功能是 Firefox 138 中新發布的功能,被認為是實驗性的。它們可能預設停用或預設啟用,但僅在 Nightly 構建中可用。對於預設停用的功能,請在 about:config 頁面上搜索適當的首選項並將其設定為 true。您可以在 實驗性功能 頁面上找到更多此類功能。
-
巢狀在分割槽元素中的
<h1>的 UA 樣式:layout.css.h1-in-section-ua-styles.enabled。當
<h1>標題巢狀在 分割槽元素<article>、<aside>、<nav>和<section>中時,其字型大小現在不會減小。由於大綱演算法 已從 HTML 規範中移除,因此巢狀在分割槽元素中的<h1>的 UA 樣式不再相關。( Firefox bug 1883896 )。作為此移除的階段性推廣的一部分,5% 的 Firefox 138 使用者和 50% 的 Firefox Beta 138 使用者的
layout.css.h1-in-section-ua-styles.enabled值將設定為false( Intent to unship: UA styles for h1 in article, aside, nav, section )。注意: 此功能的偏好設定是相反的:在 Nightly 構建中設定為
false,這會移除巢狀在分割槽元素中的標題的 UA 樣式。在所有其他渠道中設定為true,這會保留巢狀標題的現有 UA 樣式。 -
::details-contentCSS 偽元素:layout.css.details-content.enabled。CSS
::details-content偽元素使您能夠樣式化<details>元素的內容 ( Firefox bug 1901037 )。 -
允許在元素支援的偽元素之後使用偽元素
已開始允許將 偽元素(例如
::first-letter和::before)附加到 元素支援的偽元素(例如::details-content和::file-selector-button)。( Firefox bug 1953557 )。注意: 此功能取決於對目標元素支援的偽元素的支援,例如:
::details-content,它在layout.css.details-content.enabled偏好設定之後。 -
MutationEvent正在被移除:dom.mutation_events.enabledMutationEvent及其相關事件(DOMSubtreeModified、DOMNodeInserted、DOMNodeRemoved、DOMCharacterDataModified、DOMAttrModified)現在在 Firefox Nightly 中預設停用。( Firefox bug 1951772 )。 -
Notification.actions(Nightly):dom.webnotifications.actions.enabledNotification.actions屬性可以獲取與Notification相關聯的操作,這些操作是使用ServiceWorkerRegistration.showNotification()設定的。( Firefox bug 1225110 )。 -
PerformanceEventTiming.interactionId:dom.performance.event_timing.enable_interactionidPerformanceEventTiming.interactionId可用於測量特定使用者互動觸發的事件的延遲時間。( Firefox bug 1934683 )。 -
HTML Sanitizer API:
dom.security.sanitizer.enabledHTML Sanitizer API 允許開發者獲取不可信的 HTML 字串並對其進行清理,以便安全地插入到文件的 DOM 中。( Firefox bug 1950605, Firefox bug 1952250 )。