Firefox 101 釋出說明 (面向開發者)

本文件提供有關 Firefox 101 中將影響開發者的變更資訊。Firefox 101 於 2022 年 5 月 31 日釋出。

Web 開發人員的變更

HTML

無顯著變化。

CSS

  • 用於檢測使用者是否偏好在網頁內容顯示中選擇更高(more)或更低(less)對比度的 prefers-contrast 媒體特性現已預設可用。此特性現在還允許使用者透過新的 custom 值指定用於對比度的顏色集(Firefox bug 1656363)。

  • 引入了三種新的視口大小:小(s)、大(l)和動態(d)。這些新尺寸除了現有的 vhvwvmaxvmin 之外,還添加了新的 視口百分比長度單位。新的視口百分比長度單位包括 svhlvhdvhsvwlvwdvwsvmaxlvmaxdvmaxsvminlvmindvminFirefox bug 1610815)。此外,vbvi 單位現已預設支援(Firefox bug 1610815)。

  • 已為 contain 屬性新增對 inline-size 值的支援。有關更多資訊,請參閱(Firefox bug 1755565)。

JavaScript

無顯著變化。

API

DOM

  • HTMLMediaElement.preservesPitch 現在無需 moz 字首即可支援。mozPreservesPitch 現在是 preservesPitch 的別名,但已棄用,並可能在未來版本中移除(Firefox bug 1652950)。

  • 現已支援 HTMLInputElement.showPicker(),允許在使用者與按鈕等其他元素互動時顯示輸入元素的選擇器(Firefox bug 1745005)。

  • DOMException 現在是一個 可序列化的物件,因此可以使用 structuredClone() 進行克隆,或使用 postMessage()worker 之間複製(Firefox bug 1561357)。

  • 現已支援可構造樣式表,這使得建立可重用樣式表以與 Shadow DOM 配合使用更加容易。更新包括添加了用於建立新樣式表的 CSSStyleSheet() 建構函式,可用於在樣式表中新增/替換 CSS 規則的 CSSStyleSheet.replace()CSSStyleSheet.replaceSync() 方法,以及用於將樣式表共享到文件及其 shadow DOM 子樹的 Document.adoptedStyleSheetsShadowRoot.adoptedStyleSheets 屬性。有關更多資訊,請參閱(Firefox bug 1520690)。

媒體、WebRTC 和 Web Audio

  • 媒體支援查詢中的 AV1 編解碼器引數現已得到正確解析。這意味著 MediaCapabilities.decodingInfo()HTMLMediaElement.canPlayType()MediaSource.isTypeSupported() 現在將根據提供的編解碼器引數準確報告對 AV1 源的播放支援。MediaCapabilities.decodingInfo() 還將利用這些資訊準確報告 AV1 影片的“高效解碼”。有關更多資訊,請參閱(Firefox bug 1757861)。

  • 現在支援 maxFramerate,用於設定用於傳送編碼的最大幀率(在 RTCPeerConnection.addTransceiver()RTCRtpSender.setParameters() 中)。請注意,零是有效的幀率值,但 Firefox 將其解釋為“無幀率限制”。有關更多資訊,請參閱(Firefox bug 1611957)。

SVG

  • Firefox UI 中使用 prefers-color-scheme 樣式化的 SVG 影像將遵循嵌入器的 color-scheme(以前 prefers-color-scheme 會忽略嵌入器的 color-scheme,並根據裝置或瀏覽器主題觸發)。這確保了例如圖示始終按照巢狀它的元素的顏色主題進行樣式化,而不一定取決於裝置(可能不同的)顏色主題。(Firefox bug 1764354)。

WebDriver 一致性 (WebDriver BiDi, Marionette)

從 Firefox 此版本開始,WebDriver BiDi 協議將預設啟用。可以透過使用 WebDriver classic(geckodriver, Marionette)並設定 webSocketUrl 功能為 true 來請求 WebDriver BiDi 會話。此功能將包含 BiDi 客戶端連線的 WebSocket 端點。

以下命令和事件可用

有關更多資訊,請參閱 完整的 Bug 列表

附加元件開發人員的變更

  • 添加了 storage.StorageArea.onChanged 事件,使您能夠監聽 localsync 儲存區域中內容的變更(Firefox bug 1758475)。
  • Manifest V3 預覽功能
    • 添加了 scripting API,該 API 提供了執行指令碼、插入和刪除 CSS 以及管理內容指令碼註冊的功能(Firefox bug 1687764)。此 API 可用於 Manifest V3 擴充套件,並接管了 tabs API 的執行指令碼以及插入和刪除 CSS 功能。
    • 添加了 action API,該 API 在 Manifest V3 擴充套件中接管了 browserAction API 的功能。相應地,在 manifest 中添加了 "action" manifest 鍵以及 commands 鍵的 _execute_action 特殊快捷方式。請注意,browserAction API 和 "browser_action" manifest 鍵僅在 Manifest V2 擴充套件中可用。
    • "background" manifest 鍵屬性 "persistent" 可以設定為 false,具體取決於首選項:對於 Manifest V2,是 extensions.eventPages.enabled 首選項;對於 Manifest V3,是 extensions.manifestV3.enabled 首選項。
    • 添加了 "host_permissions" manifest 鍵,該鍵可用於 Manifest V3 擴充套件。
    • Manifest V3 擴充套件的內容指令碼執行環境已發生變化
      • 內容指令碼不能再依賴主機許可權來執行跨域請求。內容指令碼的跨域請求可透過 CORS 進行。
      • content 物件(提供了 content.fetchcontent.XMLHttpRequestcontent.WebSocket)已從內容指令碼執行環境中移除。