Firefox 90 for developers 發行說明
本文件提供了有關 Firefox 90 中將影響開發者的更改的資訊。Firefox 90 已於 2021 年 7 月 13 日釋出。
注意:另請參閱 Mozilla Hacks 上的 “Firefox 90 活躍起來”。
Web 開發人員的變更
開發者工具
- 響應檢視現在會顯示 網頁字型預覽(Firefox bug 872078)。
HTML
- 在 `multipart/form-data` 的換行符規範化和轉義處理方式上進行了修復。這符合更新後的規範,並與其他瀏覽器實現保持一致。(Firefox bug 1686765)。
- Firefox 現在會根據 EXIF 資訊(如果存在且自洽)來設定圖片的 固有尺寸和解析度。這允許伺服器傳送低質量的佔位符圖片以加快載入速度。它還支援 其他多種用例(Firefox bug 1680387)。
CSS
- 已實現 `-webkit-image-set()` 作為標準 `image-set()` 函式的別名(Firefox bug 1709415)。
JavaScript
- 現在預設支援 私有類靜態欄位、例項欄位和方法(Firefox bug 1708235 和 Firefox bug 1708236)。
- 現在可以使用 `in` 運算子 檢查類私有方法或欄位是否已定義。這提供了一種更簡潔的處理潛在未定義功能的方法,而不是將程式碼包裝在 `try/catch` 塊中(Firefox bug 1648090)。
- 現在,透過 `Intl.DateTimeFormat()` 建構函式的選項指定的自定義日期/時間格式可以包含 `dayPeriod` — 這是一個指示應包含一天的大致時間(例如,“上午”、“晚上”等)的值,作為 `narrow`、`short` 或 `long` 字串(Firefox bug 1645115)。
- 已將相對索引方法 `at()` 新增到 `Array`、`String` 和 `TypedArray` 全域性物件中。(Firefox bug 1681371)
HTTP
- 現在支援 HTTP 獲取元資料請求標頭(`Sec-Fetch-*`)。這些標頭為伺服器提供了有關請求的額外上下文,包括它們是同源、跨源、同站點還是使用者發起的,以及請求的資料在哪裡/如何被使用。這使得伺服器能夠緩解多種型別的跨源攻擊(Firefox bug 1695911)。
移除
- FTP 已從 Firefox 中移除(Firefox bug 1574475)。此舉是在 Firefox 88 棄用之後進行的。請注意,Web 擴充套件仍然可以註冊為 FTP 協議處理程式。
API
DOM
- 添加了對已棄用的 `WheelEvent` 屬性的支援:`WheelEvent.wheelDelta`、`WheelEvent.wheelDeltaX` 和 `WheelEvent.wheelDeltaY`。這使得 Firefox 能夠處理因 `WheelEvent` 近期相容性改進而損壞的一小部分頁面(Firefox bug 1708829)。
- Canvas API 的 `CanvasRenderingContext2D` 介面現在提供了一個 `createConicGradient()` 方法。它返回一個 `CanvasGradient`,類似於現有的 `linear` 和 `radial` 漸變,但允許漸變圍繞由座標定義的點移動。有關更多詳細資訊,請參閱(Firefox bug 1627014)。
- 已新增對 `matrix` 協議的支援,現在可以將其作為有效的 scheme 傳遞給 `Navigator.registerProtocolHandler()` 方法。
WebDriver 符合性 (Marionette)
- Marionette 現在限制為單個活動的 WebDriver 會話(Firefox bug 1691047)。
- 添加了對 Firefox 中新型使用者提示的支援(Firefox bug 1686741)
- 視窗控制代碼現在使用唯一 ID,並且在由 跨組導航引起的程序交換時不會改變(Firefox bug 1680479)。
- 修復了在後臺標籤頁中開啟新的使用者提示時,當前 WebDriver 命令被不當中止的問題(Firefox bug 1701686)。
- 修復了 `WebDriver:GetWindowHandles` 命令,現在可以正確處理未載入的標籤頁(Firefox bug 1682062)。
- 修復了 `WebDriver:NewSession` 命令,使其始終返回 `proxy` capability,即使它是空的(Firefox bug 1710935)。
移除
- 隨著 Firefox 90 移除 FTP 支援,`ftpProxy` capability 不再被評估,使用時會丟擲 `invalid argument` 錯誤(Firefox bug 1703805)。
附加元件開發人員的變更
- `matrix` URI scheme 現在受支援,並且可以在擴充套件的 `manifest.json` 中的 `protocol_handlers` 鍵內定義為協議。
- 從這個版本開始,可以在擴充套件頁面和 worker 全域性中使用 Cache API。更多詳細資訊,請參閱(Firefox bug 1575625)。