Web 開發人員的變更
HTML
無顯著變化
CSS
text-emphasis-position屬性現在支援auto值,使其與text-underline-position保持一致 (Firefox bug 1919658)。- CSS 現在支援巢狀宣告規則,這意味著巢狀的 CSS 現在以正確的順序解析 (Firefox bug 1918408)。
移除
-moz-user-modifyCSS 屬性已被移除。此屬性已被棄用,取而代之的是contenteditable全域性屬性。(Firefox bug 1920118)。
JavaScript
(?ims-ims:...)正則表示式修飾符允許您只在正則表示式模式的特定部分進行更改。(Firefox bug 1913752 和 Firefox bug 1899813)。
HTTP
- HTTP
Accept頭的預設/文件值已更改為text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8。這移除了有時會導致相容性問題的影像 MIME 型別,並與 fetch 規範和 Safari 保持一致。(Firefox bug 1917177)。
移除
- HTTP/2 Server Push 預設情況下透過首選項
network.http.http2.allow-push設定為false而停用。此功能不再受任何其他主流瀏覽器支援,並且在未來的版本中可能會完全移除。(Firefox bug 1915848)。
隱私
- 嚴格增強跟蹤保護現在阻止所有第三方 Cookie。(Firefox bug 1918037)。
API
WebGLRenderingContext和WebGL2RenderingContext介面的drawingBufferColorSpace和unpackColorSpace屬性現已支援。它們分別指定 WebGL 繪圖緩衝區的顏色空間,以及匯入紋理時要轉換到的顏色空間。(Firefox bug 1885491, Firefox bug 1885446)。Notification.silent屬性現已支援,它控制系統通知是否應靜音。當在Notification()建構函式中指定silent: true時,無論裝置設定如何,生成的系統通知都將不附帶聲音或振動 (Firefox bug 1809028)。<link>、<script>和<img>元素的fetchpriority屬性,HTMLLinkElement、HTMLScriptElement和HTMLImageElement介面的fetchPriority屬性,傳遞給Request()建構函式的options.priority引數,以及 HTTPLink標頭中的fetchpriority指令,現已支援。這些允許開發者提供關於獲取特定資源相對於同類型其他資源的相對優先順序的提示,並且可以與其他設定優先順序的方式(例如預載入)一起使用。(Firefox bug 1854077)。CSSNestedDeclarations介面及其關聯的CSSNestedDeclarations.style屬性現已支援 (Firefox bug 1918408)。microphone和camera許可權現在可以在Permissions.query()方法中使用,以測試是否已授予、拒絕或仍需要使用者批准訪問相應的硬體。(Firefox bug 1609427 和 Firefox bug 1915222)。
媒體、WebRTC 和 Web Audio
HTMLVideoElement介面的requestVideoFrameCallback()和cancelVideoFrameCallback()方法現已支援。requestVideoFrameCallback()註冊一個回撥函式,該函式在新的影片幀傳送到合成器時執行。開發者可以使用此函式對每個影片幀執行操作,從而實現更高效的畫布繪製、影片分析、與外部音訊源同步等等。該方法返回一個回撥控制代碼,可以將其傳遞給cancelVideoFrameCallback()以取消未完成的回撥請求。(Firefox bug 1919367, Firefox bug 1800882)。MediaStreamTrack.getCapabilities()方法現已支援。這返回一個物件,詳細說明關聯MediaStreamTrack的每個可約束屬性的接受值或值範圍 (Firefox bug 1179084)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
WebDriver BiDi
- 實施了一些改進,以使 WebDriver BiDi 命令在導航期間或與新建立的標籤頁一起使用時更可靠。以前,像
browsingContext.setViewport這樣的命令很可能由於AbortError而失敗,現在它們將重試幾次以避免此類問題。(Firefox bug 1854942, Firefox bug 1918287, Firefox bug 1918672, Firefox bug 1921756) - 現在,
browsingContext.contextCreated事件針對延遲載入的幀正確觸發。以前,該事件只會在 iframe 實際開始載入其內容時才觸發。(Firefox bug 1878166) - 現在,快取樣式表請求的網路事件會正確觸發。(Firefox bug 1879438)
- 網路事件計時以前使用錯誤的單位,以微秒為單位提供。現在它們已正確設定為毫秒。(Firefox bug 1916685)
- 網路事件計時中的
requestTime現在應該更準確,並且真正匹配請求實際開始的時間。(Firefox bug 1922390)
實驗性 Web 功能
這些功能在 Firefox 132 中是新推出的,但預設情況下是停用的。要試用它們,請在 about:config 頁面上搜索相應的首選項並將其設定為 true。您可以在實驗性功能頁面上找到更多此類功能。
-
Cookie Store API:
dom.cookieStore.enabled。Cookie Store API 是一種現代的、基於
Promise的 Cookie 管理方法,它不會阻塞事件迴圈,也不依賴於Document(因此可以供 Service Worker 使用)。截至 Firefox 132,Cookie Store API 的一個子集已實現。(Firefox bug 1800882)。這包括:CookieStore介面,但不包括返回值的partitioned。CookieChangeEvent介面,不包括partitioned屬性。Window.cookieStore屬性。ServiceWorkerGlobalScope.cookieStore屬性。
-
fetch()的keepalive選項:dom.fetchKeepalive.enabled。全域性
fetch()方法有一個keepalive初始化選項。當keepalive設定為true時,如果發起請求的頁面在請求完成之前被解除安裝,瀏覽器將不會中止關聯的請求。這使得 fetch 請求可以在會話結束時傳送分析資料時作為
Navigator.sendBeacon()的替代方案,這有一些優點(您可以使用POST以外的 HTTP 方法,自定義請求屬性,並透過 fetchPromise實現訪問伺服器響應)。它也可以在 Service Worker 中使用。(Firefox bug 1906952)。 -
CloseWatcher:dom.closewatcher.enabled。CloseWatcher介面使開發者能夠實現可使用裝置原生機制關閉的元件,就像內建元件一樣。例如,在 Android 上,您可以使用返回按鈕關閉對話方塊:此介面允許您以類似方式關閉自定義側邊欄。(Firefox bug 1888729)。 -
Promise.try():javascript.options.experimental.promise_try。Promise.try()是一個便利方法,它接受任何型別(同步或非同步返回或丟擲)的回撥,並將其結果包裝在Promise中,以便可以使用 Promise 語義(例如.then()、.catch())來處理它 (Firefox bug 1905364)。 -
帶有 source 的
JSON.parse:javascript.options.experimental.json_parse_with_source。JSON.parse源文字訪問提案擴充套件了JSON.parse的行為,以提供緩解 JavaScript 值和 JSON 文字之間轉換大浮點數和日期值等時精度損失問題的特性 (Firefox bug 1913085, Firefox bug 1925334)。具體來說,現在可以使用以下特性:JSON.parse()reviver引數的context引數:提供對已解析的原始 JSON 源文字的訪問。JSON.isRawJSON():測試一個值是否是JSON.rawJSON()返回的物件。JSON.rawJSON():建立一個包含一段 JSON 文字的“原始 JSON”物件,然後可以將其包含在另一個物件中,以便在字串化該物件時保留指定的值。