Firefox 64 面向開發者的釋出說明
本文件提供了 Firefox 64 中影響開發者的變更資訊。Firefox 64 於 2018 年 12 月 11 日釋出。
Web 開發人員的變更
開發者工具
-
無障礙資訊欄已增強,可包含頁面上文字或影像的顏色對比度資訊(Firefox bug 1473037)。
-
響應式設計模式的裝置選擇現在會在會話之間儲存(Firefox bug 1248619)。
-
可能受跟蹤保護影響的資源現在在網路監視器中顯示(Firefox bug 1333994)。
-
Web 控制檯在程式碼輸入和評估方面有所改進
- 控制檯表示式的自動補全現在不區分大小寫(Firefox bug 672733)。
- 現在可以使用類似 bash 的反向搜尋逐步遍歷控制檯表示式歷史記錄(Firefox bug 1024913)。
- 控制檯中評估的程式碼現在在輸入和輸出中都進行了語法高亮顯示(Firefox bug 1463669)。
-
JavaScript 偵錯程式中的單步除錯也有一些改進
- 偵錯程式中從函式跳出現在會跳過返回值(Firefox bug 923975)。
移除
- 開發者工具 GCLI 已移除(Firefox bug 1429421)。
HTML
無更改。
CSS
- CSS 捲軸規範功能已預設啟用(Firefox bug 1492012)。
- 實現了互動媒體特性,包括
pointer:coarse(Firefox bug 1035774)。有關any-pointer和any-hover的實現,請參閱 Firefox bug 1483111。 - Firefox for Android 現在支援
prefers-reduced-motion媒體特性(Firefox bug 1478505)。 - CSS
<gradient>值現在支援多位置顏色停止語法,例如,yellow 25%, yellow 50%現在可以寫成yellow 25% 50%(Firefox bug 1352643)。 text-transform屬性現在接受full-size-kana值(Firefox bug 1498148)。- 添加了對
-webkit-appearance的支援,以緩解相關的 Web 相容性問題(Firefox bug 1368555)。 - 與上述更新密切相關,我們還移除了大部分 Firefox 特定的
-moz-appearance值(Firefox bug 1496720)。 display:list-item現在支援在<legend>元素上(Firefox bug 1486602)。- SVG
path(),可在offset-path中使用,現在可動畫化(Firefox bug 1486094)。 - 如果選擇器鏈或組包含以
-webkit-為字首的偽元素,該偽元素不再使其無效(詳見 Firefox bug 1424106,並參閱 Firefox bug 1486325 以啟用此功能)。
移除
- 非標準
-moz-box和-moz-inline-boxdisplay值已對 Web 內容隱藏(Firefox bug 1496961)。 - 非標準
::-moz-tree偽元素已對 Web 內容隱藏(Firefox bug 1496961)。 layout.css.filters.enabled首選項已移除;CSS 濾鏡不再可停用(Firefox bug 1408841)。- 之前的一項更改——交換 2 值
overflow語法的值,以便先指定塊級,後指定行內(Firefox bug 1481866)——已恢復(Firefox bug 1492567)。有關原因,請參閱 Bug 1481866 comment 14。
SVG
無更改。
JavaScript
- TC39 Well-formed JSON.stringify 提案已實現,以防止
JSON.stringify返回格式錯誤的 Unicode 字串(Firefox bug 1469021)。 - 代理函式現在可以與
Function.prototype.toString一起使用(Firefox bug 1440468)。 - 在
WebAssembly.Global()建構函式中,如果未指定值,則使用型別化的 0 值。這由DefaultValue演算法指定(Firefox bug 1490286)。
API
DOM
-
已實現與 全屏 API 相關的一些更改
- API 已取消字首(Firefox bug 1269276)。
Element.requestFullscreen()和Document.exitFullscreen()方法現在都返回一個Promise,該 Promise 在模式更改完成後解析(Firefox bug 1188256 和 Firefox bug 1491212)。- 以前,
fullscreenchange和fullscreenerror事件首先分派給Document,然後是Element。現在已顛倒順序,元素首先接收事件。這與最新規範以及 Google Chrome 的行為相匹配(Firefox bug 1375319)。
-
WebVR API (1.1) 現在在 macOS 中重新啟用(Firefox bug 1476091)。
-
已實現
Window.screenLeft和Window.screenTop,作為Window.screenX和Window.screenY的別名(Firefox bug 1498860)。 -
XMLHttpRequest.getAllResponseHeaders()方法現在按照規範返回小寫字母的頭部名稱(Firefox bug 1398718)。 -
根據最近的 規範更新,舊版
HTMLAllCollection介面已更新(Firefox bug 1398354)。 -
Navigator.buildID現在返回一個固定的時間戳,作為隱私保護措施(Firefox bug 583181)。 -
以下
Document.execCommand()UI 功能命令已預設停用(Firefox bug 1490641enableObjectResizingenableInlineTableEditingenableAbsolutePositionEditor
Service Workers
媒體、Web Audio 和 WebRTC
PannerNode.refDistance、PannerNode.maxDistance、PannerNode.rolloffFactor和PannerNode.coneOuterGain屬性現在在設定為超出其接受範圍的值時正確丟擲異常(Firefox bug 1487963)。- 透過
RTCRtpSender.setParameters()更改的RTCRtpEncodingParameters設定在通話期間更改時曾經無法更新。它們現在將即時更新,無需重新協商(Firefox bug 1253499)。 - 已實現
RTCIceCandidateStats.relayProtocol——這是RTCIceCandidateStats.mozLocalTransport的標準化版本,後者現已棄用(Firefox bug 1435789)。 - 自動增益控制 (AGC) 現已預設啟用;這可以透過首選項
media.getusermedia.agc_enabled更改(Firefox bug 1496714)。
移除
- 為解決 Web 相容性問題而在 Firefox 63 中新增的
Window.event屬性,由於發現其他問題,目前已透過首選項 (dom.window.event.enabled) 停用,並在釋出版本中預設停用(Firefox bug 1493869)。請注意,這實際上是在 Firefox 63 釋出週期後期完成的,但我們在此提及以防萬一。 LocalMediaStream介面及其stop()方法已移除(Firefox bug 1258143)。隨著LocalMediaStream的棄用,此方法不再可用。請參閱停止影片流部分以瞭解如何停止整個流。AudioStreamTrack和VideoStreamTrack介面已移除,因為它們都已棄用一段時間(Firefox bug 1377146)。它們的功能已合併到MediaStreamTrack中;軌道現在透過其kind屬性的值(例如audio或video)進行標識。
安全
- Symantec CA 不信任計劃已實施(請參閱 Firefox bug 1409257;另請參閱 Mozilla's Plan for Symantec Roots 討論以獲取更多詳細資訊)。
Referrer-Policy現在可用於管理透過樣式表獲取的資源(Firefox bug 1330487)——有關更多資訊,請參閱 與 CSS 整合。
外掛
無更改。
WebDriver 符合性 (Marionette)
API 更改
- 已移除沒有
Marionette:、L10n:或Addon:字首的已棄用命令端點(包括singeTap)(Firefox bug 1504478,Firefox bug 1504940)。
錯誤修復
- 透過
WebDriver:PerformActions合成的Shift鍵事件未能導致大寫字母(Firefox bug 1405370)。 - 如果在導航期間選項卡的基礎內容程序多次更改,
WebDriver:Navigate可能會導致無限掛起(Firefox bug 1504807)。 - 為了提高 Firefox 的效能並減少記憶體佔用,新選項卡或視窗的預設載入頁面不再是
about:newtab,而是about:blank(Firefox bug 1506643)。 - 內容阻止介紹面板,它顯示在各種網頁上並導致元素互動失敗,現在預設停用(Firefox bug 1488826)。
附加元件開發人員的變更
API 更改
選單
-
一個新 API
menus.overrideContext(),可以在contextmenuDOM 事件中呼叫,以在擴充套件頁面中設定自定義上下文選單。此 API 允許擴充套件程式隱藏所有預設的 Firefox 選單項,以提供自定義上下文選單 UI。此上下文選單可以包含來自擴充套件程式的多個頂級選單項,並且可以選擇包含來自其他擴充套件程式的選項卡或書籤上下文選單項。有關更多詳細資訊,請參閱此部落格文章。menus.overrideContext()在(Firefox bug 1280347)中實現。showDefaults: false選項,可用於隱藏預設上下文選單選項,在(Firefox bug 1367160)中實現。documentURLPatterns現在可以用於匹配moz-extension://文件 URL,即使使用了menus.overrideContext()。這樣,它可以可靠地用於將自定義選單項限制到某些文件(Firefox bug 1498896)。
-
您現在可以使用
menus.create()和menus.update()中的新viewTypes屬性來限制上下文選單在附加元件中出現的位置(Firefox bug 1416839)。 -
menus.update()現在可用於更新現有選單項的圖示(Firefox bug 1414566)。 -
擴充套件現在可以檢測到單擊選單項時使用了哪個滑鼠按鈕——這可以透過
menus.OnClickData的新button屬性找到(Firefox bug 1469148)。
Windows
windows.create()方法現在有一個新選項可用——cookieStoreId——它指定了在視窗開啟時為所有建立的選項卡使用的CookieStoreId(Firefox bug 1393570)。
隱私
privacy.websitescookieConfig屬性是一個可以接受behavior屬性的物件——此屬性現在可以接受一個新值reject_trackers,它指示擴充套件程式拒絕跟蹤 cookie(Firefox bug 1493057)。
devtools.panels API
- 現已支援
devtools.panels.elementsSidebar.setPage()方法(Firefox bug 1398734)。
清單更改
page_action清單鍵的新pinned屬性使擴充套件程式能夠控制其頁面操作是否應在安裝時固定到位址列(Firefox bug 1494135)。- 在 Windows 上的原生清單中,將首先檢查 32 位登錄檔檢視(Wow6432Node)中的登錄檔項,然後是“原生”登錄檔檢視;您應該使用適合您應用程式的檢視(Firefox bug 1494709)。
chrome_settings_overrides欄位的search_provider物件現在可以包含新屬性——suggest_url和suggest_url_post_params(Firefox bug 1486819),以及search_url_post_params。
另見
- Hacks 釋出帖子:Firefox 64 釋出