Firefox 58 面向開發者的釋出說明
本文提供有關 Firefox 58 中影響開發者的更改的資訊。Firefox 58 於 2018 年 1 月 23 日釋出。
面向網路開發者的變更
開發者工具
- 形狀路徑編輯器已預設啟用,用於透過
clip-path生成的形狀(Firefox bug 1405339)。 - 網路監視器現在有一個按鈕,可以暫停/播放網路流量記錄(Firefox bug 1005755)。
- 在網路監視器中,“Flash”篩選按鈕不再可用,Flash 請求包含在“其他”篩選器中(Firefox bug 1413540)。
- 舊版響應式設計模式的程式碼(Firefox 52 之前預設啟用)現已從 DevTools 中刪除(Firefox bug 1305777)。有關新工具的資訊,請參閱響應式設計模式。
- 從頁面檢查器的 CSS 面板檢視 MDN 文件的選項已刪除(Firefox bug 1382171)(自 55 版本以來已停用,Firefox bug 1352801)。
HTML
無更改。
CSS
font-display描述符現在在所有平臺上預設可用(Firefox bug 1317445)。
SVG
無更改。
JavaScript
Promise.prototype.finally()方法已實現(Firefox bug 1019116)。Intl.PluralRules物件已實現(Firefox bug 1403318)。Intl.NumberFormat.prototype.formatToParts()方法已實現(Firefox bug 1403319)。Intl.DateTimeFormat物件現在支援hourCycle選項和hc語言標籤(Firefox bug 1386146)。- 可選 catch 繫結提案已實現(Firefox bug 1380881)。
API
新 API
PerformanceNavigationTimingAPI 已實現(Firefox bug 1263722)。- Gecko 還提供了一個偏好設定,如果需要,可用於停用此介面 —
dom.enable_performance_navigation_timing,預設值為true(Firefox bug 1403926)。
- Gecko 還提供了一個偏好設定,如果需要,可用於停用此介面 —
DOM
- 透過某些 API 中的錯誤物件報告的錯誤——例如,在
FileReader、IDBRequest和IDBTransaction的error屬性中,以及透過RTCPeerConnection的某些方法發出的請求不成功時——現在由DOMException例項表示。DOMError現已棄用,已從 DOM4 規範中刪除(Firefox bug 1120178)。 - 現在支援
PerformanceResourceTiming.workerStart屬性(Firefox bug 1191943)。 - 已實現基於預算的後臺超時限制 — 有關更多詳細資訊,請參閱輔助後臺頁面效能的策略(Firefox bug 1377766)。
DOM 事件
無更改。
媒體和 WebRTC
- 已刪除
HTMLMediaElement.srcObject的帶字首版本;請確保程式碼已更新,使用標準srcObject而不是mozSrcObject(Firefox bug 1183495)。 - 現在,使用
MediaStream.addTrack()將軌道新增到透過getUserMedia()獲取的流中,然後嘗試錄製生成的流,將按預期工作。以前,只有getUserMedia()返回的流中最初包含的軌道才會被包含在錄製的媒體中(Firefox bug 1296531)。 - WebVTT
VTTRegion介面始終在解釋 WebVTT 檔案時建立,但之前並未利用生成的區域。從 Firefox 58 開始,如果您透過將media.webvtt.regions.enabled首選項的值設定為true來啟用它,則它們將被利用。
Canvas 和 WebGL
- 已刪除對帶字首的 WebGL 擴充套件的支援(Firefox bug 1403413)
- 對於
MOZ_WEBGL_compressed_texture_atc,請改用WEBGL_compressed_texture_atc。 - 對於
MOZ_WEBGL_compressed_texture_pvrtc,請改用WEBGL_compressed_texture_pvrtc。 - 對於
MOZ_WEBGL_compressed_texture_s3tc,請改用WEBGL_compressed_texture_s3tc。 - 對於
MOZ_WEBGL_depth_texture,請改用WEBGL_depth_texture。 - 對於
MOZ_WEBGL_lose_context,請改用WEBGL_lose_context。
- 對於
HTTP
frame-ancestors在Content-Security-Policy-Report-Only中不再被忽略(Firefox bug 1380755)。- Firefox 現在實現了一個 TLS 握手超時,預設值為 30 秒。可以透過編輯 about:config 中的
network.http.tls-handshake-timeout偏好設定來更改超時值(Firefox bug 1393691)。 worker-srcCSP 指令已實現(Firefox bug 1302667)。- 現在支援 425: Too Early 狀態碼和相關的
Early-Data請求頭(Firefox bug 1406908)。
安全
無更改。
外掛
無更改。
其他
- Firefox for Android 現在支援“新增到主螢幕”,這是 漸進式網路應用 工作的一部分(Firefox bug 1212648)。
- WebAssembly 現在具有分層編譯器,提供載入時間最佳化(Firefox bug 1277562),以及新的流 API —
WebAssembly.compileStreaming()和WebAssembly.instantiateStreaming()(Firefox bug 1347644)。
Web 平臺移除的內容
HTML
- 您不能再將
<a>元素巢狀在<map>元素中以建立熱點區域 — 必須改用<area>元素(Firefox bug 1317937)。
CSS
-
以下專有的 Mozilla 系統度量偽類不再可用於 Web 內容(Firefox bug 1396066)
:-moz-system-metric(images-in-menus):-moz-system-metric(mac-graphite-theme):-moz-system-metric(scrollbar-end-backward):-moz-system-metric(scrollbar-end-forward):-moz-system-metric(scrollbar-start-backward):-moz-system-metric(scrollbar-start-forward):-moz-system-metric(scrollbar-thumb-proportional):-moz-system-metric(touch-enabled):-moz-system-metric(windows-default-theme)
-
以下專有的 Mozilla 媒體特性不再可用於 Web 內容(Firefox bug 1396066)
-moz-color-picker-available-moz-is-glyph-moz-mac-graphite-theme-moz-mac-yosemite-theme-moz-os-version-moz-overlay-scrollbars-moz-physical-home-button-moz-scrollbar-end-backward-moz-scrollbar-end-forward-moz-scrollbar-start-backward-moz-scrollbar-start-forward-moz-scrollbar-thumb-proportional-moz-swipe-animation-enabled-moz-windows-accent-color-in-titlebar-moz-windows-classic-moz-windows-compositor-moz-windows-default-theme-moz-windows-glass-moz-windows-theme
-
專有的 Mozilla
:-moz-styleeditor-transitioning偽類不再可用於 Web 內容(Firefox bug 1396099)。
JavaScript
- 非標準的
Date.prototype.toLocaleFormat()方法已被刪除(Firefox bug 818634)。 - 非標準和已棄用的
Object.prototype.watch()和Object.prototype.unwatch()方法已被刪除,不再有效(Firefox bug 638054)。請考慮改用setter 和 getter 或代理。 - 舊版迭代器協議、
StopIteration物件、舊版生成器函式和非標準的Function.prototype.isGenerator()方法已被刪除。請改用 ES2015 迭代協議和符合標準的迭代器和生成器(Firefox bug 1083482、Firefox bug 1413867、Firefox bug 1119777)。 - 非標準的陣列推導和生成器推導已被刪除(Firefox bug 1414340)。
API
XMLHttpRequest.responseType屬性的專有moz-blob和moz-chunked-text值已在 Firefox 58 中完全刪除(Firefox bug 1397145、Firefox bug 1397151、Firefox bug 1120171)。- 控制 Abort API 功能公開的
dom.abortController.enabled和dom.abortController.fetch.enabled偏好設定現已刪除,因為這些功能現在預設啟用(Firefox bug 1402317)。 - 專有的
mozSrcObject屬性已在 Firefox 58 中刪除(Firefox bug 1183495)。請改用標準的HTMLMediaElement.srcObject屬性。
SVG
無更改。
面向附加元件和 Mozilla 開發者的變更
WebExtensions
-
- 已實現 browserSettings.webNotificationsDisabled (bug 1364942)
-
- browsingData.localStorage 現在支援按主機刪除 localStorage (bug 1388428)
-
pkcs11 API 用於管理安全裝置 (Bug 1357391)
-
privacy
- 現在可以透過 firstPartyIsolate 切換第一方隔離 (bug 1409045)
- 現在可以透過 resistFingerprinting 切換 resist fingerprinting 偏好設定 (bug 1397611)
-
tabs
- 已實現
tabs.discard(Bug 1322485) - 已實現 Tab 的 isArticle, isInReaderMode 屬性 (Bug 1381992)
- 已實現
toggleReaderMode()方法 (Bug 1381992) - 已實現 tabs.created 的 openInReaderMode 選項 (Bug 1408993)
- tabs.onUpdated 現在在進入/退出閱讀模式時通知 (Bug 1402921)
- 已實現
-
theme
- 獲取當前主題屬性的
getCurrent()方法 (Bug 1349944) - onUpdated 方法用於接收 WebExtension 主題更新 (Bug 1349944)
- colors.bookmark_text 現在支援作為 colors.toolbar_text 的別名 (Bug 1412595)
- 已實現 colors.toolbar_top_separator, colors.toolbar_bottom_separator 和 colors.toolbar_vertical_separator (Bug 1347190)
- 獲取當前主題屬性的
-
webRequest
- webRequest.onBeforeRequest 現在包含一個“frameAncestors”引數