Firefox 117 開發者發行說明
本文件提供了有關 Firefox 117 中影響開發者的更改的資訊。Firefox 117 於 2023 年 8 月 29 日釋出。
Web 開發人員的變更
HTML
無顯著變化。
CSS
-
Firefox 現在支援 CSS Nesting 模組,以及
&巢狀選擇器。這使得開發者能夠編寫巢狀的 CSS,有助於提高 CSS 樣式表的_可讀性_、_模組化_和_可維護性_。它還可能有助於減少 CSS 檔案大小,從而減小下載尺寸。(Firefox bug 1835066,Firefox bug 1840781) -
現在支援
math-style和math-depth屬性,以及font-size屬性的math值(Firefox bug 1845516)。 -
現在支援
contain-intrinsic-size: auto none語法,這允許在可能的情況下使用元素最後記住的大小,否則會回退到contain-intrinsic-size: none。這對於網格和多列布局非常有用,可以讓元素像沒有內容一樣佈局,而不是 0px 高度(Firefox bug 1835813)。
JavaScript
無顯著變化。
SVG
- 內聯 SVG 現在支援帶有
type="module"、defer和async屬性的<script>元素。這使得 SVG 能夠使用現代 JavaScript 功能,包括 ES 模組,並非同步載入指令碼(Firefox bug 1839954)。
HTTP
-
修復了一個錯誤,即 Content-Security-Policy
'strict-dynamic'源表示式未在default-src指令中強制執行。現在的行為與規範匹配,當未提供script-src時,default-src指令值將用作回退(Firefox bug 1313937)。 -
當值是單個位元組範圍(例如
bytes=100-200)時,Range標頭現在是 CORS 安全列表請求標頭。這允許在跨域請求中使用Range標頭而不觸發預檢請求,這對於請求媒體和恢復下載非常有用(Firefox bug 1733981)。
API
- 現在可以使用
CanvasRenderingContext2D.getContextAttributes()方法來獲取瀏覽器正在使用的 2D 上下文屬性(Firefox bug 1517786)。 - 現在支援
ReadableStream.from()靜態成員,允許開發者從任何可迭代物件或非同步可迭代物件構建可讀流(Firefox bug 1772772)。 - 現在支援 WebRTC 編碼轉換,允許 Web 應用程式使用在 worker 中執行的
TransformStream來修改傳入和傳出的 WebRTC 編碼影片和音訊幀。支援的介面包括:RTCRtpScriptTransform、RTCRtpScriptTransformer、RTCRtpSender.transform、RTCRtpReceiver.transform、RTCEncodedVideoFrame和RTCEncodedAudioFrame,以及RTCTransformEvent和 workerrtctransform事件(Firefox bug 1631263)。 CSSStyleRule現在繼承自CSSGroupingRule,而不是直接繼承自CSSRule。因此,它還實現了cssRules屬性以及deleteRule()和insertRule()方法(Firefox bug 1846251)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
WebDriver BiDi
- 添加了
browser.close命令,允許使用者終止所有 WebDriver 會話並關閉瀏覽器(Firefox bug 1829334)。 - 添加了
browsingContext.setViewport命令,允許使用者更改頂層瀏覽上下文的尺寸(Firefox bug 1838664)。 - 添加了
browsingContext.fragmentNavigated事件,該事件在同文檔導航時發出(Firefox bug 1841039)。 - 添加了對
browsingContext.create命令的background引數的支援,該引數將強制新上下文在後臺建立。此引數是可選的,預設為false,這意味著browsingContext.create現在預設在前臺開啟新上下文(Firefox bug 1843507)。 - 添加了對
browsingContext.captureScreenshot命令的clip引數的支援,該引數允許將螢幕截圖限制為特定區域或元素。當裁剪到元素時,您可以選擇在截圖前將元素滾動到檢視中(Firefox bug 1840998)。 - 與導航相關的所有命令和事件現在將提供一個
navigationID,這是一個標識特定導航的UUID。此屬性在browsingContext.navigate響應、browsingContext.load、browsingContext.domContentLoaded、browsingContext.fragmentNavigated事件以及導航請求建立的所有network事件中可用(Firefox bug 1763122,Firefox bug 1789484,Firefox bug 1805405)。 network事件中的headers和cookies現在被序列化為network.BytesValue,這將更好地支援非 UTF8 值(Firefox bug 1842619)。browsingContext.create命令現在將等待直到建立的上下文具有有效的大小(Firefox bug 1847044)。
開發者工具
-
網路監控器現在可以在 Headers 選項卡中顯示有關代理請求的資訊,包括代理地址、代理狀態和代理 HTTP 版本(Firefox bug 1707192)。
-
現在可以使用鍵盤快捷鍵來調整和移動 測量工具選擇的區域。按箭頭鍵移動選定區域,按 Ctrl + 箭頭鍵(或 Mac 上的 Cmd + 箭頭鍵)調整選定區域大小。按住 Shift 鍵可以加速使用這些組合鍵進行移動和調整大小的操作(Firefox bug 1262782)。
-
在 Page Inspector 的 CSS 規則面板中,現在會報告不支援在偽元素(
::highlight()、::target-text、::spelling-error、::grammar-error和::selection)中使用的屬性(Firefox bug 1842157)。