Firefox 66 面向開發者的釋出說明

本文介紹 Firefox 66 中會影響開發者的變化。Firefox 66 已於 2019 年 3 月 19 日釋出。

Web 開發人員的變更

開發者工具

HTML

  • 現在支援從 file: URL 載入 UTF-8 編碼的 HTML(和純文字)檔案,無需 <meta charset="utf-8"> 或 UTF-8 BOM,這使得在將此類檔案上傳到伺服器之前在本地處理它們變得更加容易。你仍然需要確保伺服器在此類檔案的 Content-Type HTTP 標頭中傳送 charset=utf-8,否則用於本地檔案的檢測機制會在網路情況下破壞增量載入 (Firefox bug 1071816)。

移除

CSS

SVG

無新增。

移除

JavaScript

無更改。

API

新的 API/變更

  • 在 66 版本成為 Firefox 正式版後不久,將預設阻止自動播放音訊(Firefox bug 1487844,有關推出詳情,請參閱 Firefox bug 1535667)。該功能將逐步向使用者推出,直到所有人都能使用。

DOM

DOM 事件

  • 已實現 InputEvent.inputType 屬性 (Firefox bug 1447239)。
  • Window.eventEvent.returnValue 屬性——最初是 IE 的專有功能,後來為了相容性目的也被其他瀏覽器支援——在 Firefox 66 中被重新引入,此前它們分別在 63 和 64 版本中首次新增,但隨後因相容性問題再次被移除。
  • 從 66 版本起,當 keypress 事件物件的 KeyboardEvent.keyCode 屬性為 0 時,其值將與 KeyboardEvent.charCode 相同。反之,當 charCode 為 0 時,它將與 keyCode 相同。這種映象行為與其他瀏覽器匹配,預計將解決大多數相關的相容性問題,但使用者代理嗅探可能會在某些 JavaScript 庫中引起進一步的問題。請注意,從規範的角度來看,我們已經從分離模型切換到了合併模型(請參閱 UI 事件規範中的如何確定按鍵事件的 keyCode)。

媒體、Web Audio 和 WebRTC

  • 新的 AV1 影片編解碼器現已在 macOS 和 Windows(適用於 Intel 處理器)上預設啟用。Linux 支援將在 Firefox 67 中提供 (Firefox bug 1521181, Firefox bug 1452146, 和 Firefox bug 1534814)。
  • MediaDevicesgetDisplayMedia() 方法(可透過 navigator.mediaDevices.getDisplayMedia() 訪問)已被新增並與規範同步。該方法允許你將螢幕或螢幕的一部分捕獲為 MediaStream,以進行操作或共享 (Firefox bug 1321221)。
  • 作為最終棄用 Firefox 特有的基於 getUserMedia() 的螢幕和視窗內容捕獲方法的一步,非標準的 mediaSource 約束現在將 screenwindow 這兩個值視為相同。現在,兩者都會向用戶展示一個包含螢幕和視窗的列表供其選擇 (Firefox bug 1474376)。
  • 已新增 RTCOutboundRtpStreamStats.qpSum。它測量了影片軌道上傳送或接收的每一幀的量化引數值的總和。這個數字越高,流的壓縮程度可能就越高 (Firefox bug 1347070)。
  • 作為在未來 Firefox 更新中實現功能策略支援過程中的一步,getUserMedia() 不能再在沒有適當內容來源的情況下使用,例如在沙盒化的 <iframe> 中呼叫,或從使用者在位址列中輸入的 data URL 呼叫。有關更多詳細資訊,請參閱 MediaDevices.getUserMedia() 頁面上的安全部分 (Firefox bug 1371741)。

移除

  • 舊版的 WebRTC PeerConnection.getStats() 方法已被移除,相關的型別也一同移除 (Firefox bug 1328194)。

網路

安全

無更改。

外掛

無更改。

WebDriver 符合性 (Marionette)

API 更改

  • 已新增 WebDriver:NewWindow 以支援開啟新的瀏覽上下文,可以是視窗或標籤頁 (Firefox bug 1504756)。

  • 如果指定的元素不屬於當前的瀏覽上下文,WebDriver:SwitchToFrame 現在會引發 no such element 錯誤 (Firefox bug 1517196)。

  • WebDriver:ExecuteScriptWebDriver:ExecuteAsyncScript 不再支援不符合規範的 scriptTimeout 引數。請改用 WebDriver:SetTimeouttimeouts 能力來定義此值 (Firefox bug 1510929)。

  • WebDriver:SetWindowRect 不再在其響應中返回視窗狀態 (Firefox bug 1517587)。

錯誤修復

附加元件開發人員的變更

API 更改

  • “bookmark” type 的擴充套件選單項也將出現在書籤側邊欄 (Ctrl + B) 和庫視窗 (Ctrl + Shift + B) 中 (Firefox bug 1419195)。

清單更改

無更改。

另見