Firefox 60 開發者版釋出說明
本文提供有關 Firefox 60 中會影響開發者的更改資訊。Firefox 60 於 2018 年 5 月 9 日釋出。
Stylo 在 Firefox 60 中登陸 Android
Firefox 的新並行 CSS 引擎 — 也稱為 Quantum CSS 或 Stylo — 最初在 Firefox 57 桌面版中預設啟用,現已在 Firefox Android 版中啟用。
Web 開發人員的變更
開發者工具
- 在 CSS 窗格規則檢視中(參見檢查和編輯 CSS),精確值增量(增加/減少 0.1)的鍵盤快捷鍵已從 Linux 和 Windows 上的
Alt+上/下更改為Ctrl+上/下,以避免與預設的作業系統級別快捷鍵衝突(參見Firefox bug 1413314)。 - 同樣在 CSS 窗格規則檢視中,CSS 變數名現在將自動完成(Firefox bug 1422635)。如果您在屬性值中輸入
var(,然後輸入一個破折號(-),您在 CSS 中宣告的任何變數都將出現在自動完成列表中。 - 在響應式設計模式中,已新增一個“重新載入時…”下拉選單,允許使用者在切換觸控模擬或更改模擬使用者代理時啟用/停用自動頁面重新載入。有關更多詳細資訊,請參見控制頁面重新載入行為(Firefox bug 1428816)。
view_source.tab首選項已被移除,因此您無法再在“檢視原始碼”模式在新標籤頁或新視窗中顯示之間切換。從現在開始,頁面原始碼將始終顯示在新標籤頁中(Firefox bug 1418403)。
HTML
在 designMode 和 contenteditable 中按 Enter 鍵現在會插入 <div> 元素,當插入符位於塊級編輯主機的子元素(內聯元素或文字節點)中時,而不是像以前那樣插入 <br> 元素。如果您想在您的應用程式中使用舊行為,可以透過 document.execCommand() 來實現(Firefox bug 1430551)。
CSS
align-content、align-items、align-self、justify-content和place-content屬性值已根據最新的CSS Box Alignment Module Level 3 規範進行了更新(Firefox bug 1430817)。paint-order屬性已實現(Firefox bug 1426146)。
SVG
無更改。
JavaScript
-
ECMAScript 2015 模組已預設啟用(Firefox bug 1438139)。有關更多資訊,請參見ES6 深入:模組 和ES 模組:卡通深入剖析,或查閱 MDN 參考文件。
-
Array.prototype.values()方法已再次新增(Firefox bug 1420101)。請確保您的程式碼沒有此方法的任何自定義實現。
API
新 API
DOM
- 在Web Authentication API中,
MakePublicKeyCredentialOptions字典物件已重新命名為PublicKeyCredentialCreationOptions;此更改已在 Firefox 中完成(Firefox bug 1436473)。 dom.workers.enabled首選項已被移除,這意味著從(Firefox bug 1434934)開始,worker 無法再被停用。body屬性現在在Document介面上實現,而不是在HTMLDocument介面上實現(Firefox bug 1276438)。PerformanceResourceTiming現在在 worker 中可用(Firefox bug 1425458)。PerformanceObserver.takeRecords()方法已實現(Firefox bug 1436692)。- 標點符號鍵的
KeyboardEvent.keyCode屬性變得非零,即使活動鍵盤佈局不產生 ASCII 字元。有關更多詳細資訊,請參見這些註釋。請**不要**在新的應用程式中使用KeyboardEvent.keyCode— 請改用KeyboardEvent.key或KeyboardEvent.code。 Animation.updatePlaybackRate()方法已實現(Firefox bug 1436659)。- 已包含新的規則來確定標點符號鍵的 keyCode 值(Firefox bug 1036008)。
IDBFactory.open()方法中 Gecko 專用選項物件storage選項已棄用(Firefox bug 1442560)。- Promises 現在可以在 IndexedDB 程式碼中使用(Firefox bug 1193394)。
DOM 事件
無更改。
Service Workers
無更改。
媒體和 WebRTC
- 當錄製或共享使用
getUserMedia()獲取的媒體時,透過將相應軌道的MediaStreamTrack.enabled屬性設定為false來靜音攝像頭現在會關閉攝像頭的“正在使用”指示燈,以幫助使用者更輕鬆地看到攝像頭未在使用中(Firefox bug 1299515)。有關更多詳細資訊,請參見使用者隱私。另請參見這篇部落格文章。 - 使用
removeTrack()從RTCPeerConnection中移除軌道不再從對等連線的傳送者列表中移除軌道的RTCRtpSender,如getSenders()報告的那樣(Firefox bug 1290949)。 RTCRtpContributingSource和RTCRtpSynchronizationSource物件的 timestamp 以前是基於Date.getTime()返回的值報告的。在 Firefox 60 中,這些已修正為正確使用 Performance Timing API(Firefox bug 1433576)。- 根據規範,如果引用的
AudioBuffer沒有 1、2 或 4 個通道,ConvolverNode()建構函式現在會丟擲NotSupportedErrorDOMException(Firefox bug 1443228)。 - 已移除過時的
RTCPeerConnection事件處理程式RTCPeerConnection.onremovestream;現在您應該改用removetrack事件(Firefox bug 1442385)。 RTCDataChannel的主要名稱現在實際上是RTCDataChannel,而不是DataChannel的別名。名稱DataChannel不再受支援(Firefox bug 1173851)。
Canvas 和 WebGL
- 如果
privacy.resistFingerprinting首選項設定為true,WEBGL_debug_renderer_infoWebGL 擴充套件將從現在開始被停用(Firefox bug 1337157)。
CSSOM
無更改。
HTTP
- 現在支援
SameSitecookie(Firefox bug 795346)。有關更多資訊,請參見Set-Cookie。
安全
當設定為 no-sniff 時,X-Content-Type-Options 標頭現在遵循 JavaScript MIME 型別的規範。特別是,text/json 和 application/json 不再是有效值(Firefox bug 1431095)。
外掛
無更改。
其他
包含憑據的獲取現在可以與不包含憑據的獲取共享連線。例如,如果同一個源請求一些網路字型以及來自同一個 CDN 的一些帶憑據的使用者資料,兩者可以共享一個連線,從而可能導致更快的週轉時間(Firefox bug 1363284)。
Web 平臺移除的內容
HTML
無更改。
CSS
- 專有的
-moz-user-input屬性的enabled和disabled值不再可用(Firefox bug 1405087)。 - 專有的
-moz-border-top-colors、-moz-border-right-colors、-moz-border-bottom-colors和-moz-border-left-colors屬性已從平臺中完全移除(Firefox bug 1429723)。
JavaScript
非標準的表示式閉包語法已移除(Firefox bug 1426519)。
API
無更改。
SVG
無更改。
其他
無更改。
面向附加元件和 Mozilla 開發者的變更
WebExtensions
主題 API
- headerURL 現在是可選的
- 在建立瀏覽器主題時,如果未指定
headerURL,則應用於標題文字的任何text-shadow都將被移除(參見Firefox bug 1404688)。 - 支援新的屬性
- tab_line
- tab_selected
- popup
- popup_border
- popup_text
- tab_loading
- icons
- icons_attention
- frame_inactive
- button_background_active
- button_background_hover