Chrome 57 淘汰和移除 API

Joe Medley
Joe Medley

幾乎每個 Chrome 版本都會看到大量更新項目, 產品效能、效能以及網路功能 平台。本文說明 Chrome 57 淘汰與移除的功能。 這項功能目前為 Beta 版,截至 2 月初這份清單的內容隨時可能變更 讓應用程式從可以最快做出回應的位置 回應使用者要求

移除 BluetoothDevice.uuids 屬性

移除 BluetoothDevice.uuids 屬性,以將 Web Bluetooth API (網頁藍牙 API) 與現行規格對齊如要擷取所有允許使用的 GATT 服務,請呼叫 device.getPrimaryServices().

Chromium 錯誤

移除金鑰產生元素

自 Chrome 49 版起,<keygen> 的預設行為已傳回空白 字串。IE/Edge 不支援 <keygen>,但未提供可支持「<keygen>」的公開信號。 Firefox 已在使用者手勢後觸發 <keygen>,但已公開 支持移除這項技術Safari 出貨日期為 <keygen>,但並未表達 大眾認為這個平台持續提供支援而已。Chrome 57 版 就會遭到移除

意圖移除 | Chromestatus Tracker | Chromium 錯誤

移除加上前置字串的資源時間 buffer-management API

兩種方法與事件處理常式 webkitClearResourceTimings()webkitSetResourceTimingBufferSize()」和「onwebkitresourcetimingbufferfull」 為舊版和供應商專用 這些 API 的標準版 ,而前置字串的函式是 。這些功能原本都是 ,但 Safari 並未啟用這項功能。Firefox、IE 10+ 和 Edge 只有未前置字串的 API 版本。因此 webkit 版本 正在移除的項目

意圖移除 | Chromestatus Tracker | Chromium 錯誤

移除 ServiceWorkerMessageEvent,改用 MessageEvent

HTML 規格擴充 MessageEvent,允許 ServiceWorker 做為 source 屬性。「client.postMessage()」及建立自訂訊息 活動已變更為使用 MessageEvent 而不是 ServiceWorkerMessageEvent。 已移除「ServiceWorkerMessageEvent」。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

移除開頭為 webkit 的 IndexedDB 全域別名

已透過 webkit 公開 IndexedDB 進入點和全域建構函式 Chrome 11 周圍的前置字串已新增的無前置字串版本: Chrome 24 版和前置字串版本已於 Chrome 38 淘汰。 受影響的介面如下:

  • webkitIndexedDB (主要進入點)
  • webkitIDBKeyRange (無法呼叫的全域建構函式,但有實用的靜態方法)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (不可呼叫的全域建構函式)

意圖移除 | Chromestatus Tracker | Chromium 錯誤

WebAudio:移除前置的 AudioContext 和 OfflineAudioContext

Chrome 自 2011 年中起已支援 WebAudio,包括 AudioContext。 有人在隔年新增了「OfflineAudioContext」。有鑑於此 支援介面,以及 Google 移除前置字元目標的長期目標 這些介面的附帶前置字串版本皆已淘汰 我們已於 2014 年下半年將其移除。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

淘汰並移除 webkitCancelRequestAnimationFrame

webkitCancelRequestAnimationFrame() 方法已過時 供應商專屬的 API 和標準 cancelAnimationFrame() 長久以來 。因此我們著手移除 webkit 版本。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

淘汰 usemap 屬性的比對功能 (不區分大小寫)

usemap 屬性先前是定義為無大小寫之分。很遺憾 實作起來相當複雜,目前沒有任何瀏覽器實作這種程式碼 正確。研究表明,不需要採用這類複雜的演算法 甚至不必區分大小寫的 ASCII 比對功能

因此已更新規格,在比對時將區分大小寫 已套用。Chrome 57 已停止支援舊行為,我們預計於 Chrome 58。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

淘汰服務工作站中的 FileReaderSync

Service Worker 規格 一向有標註「任何 不同類型的同步要求類型不得在服務內發出 工作站」,避免阻斷 Service Worker。封鎖 Service Worker 將封鎖來自受控網頁的所有網路要求不過, FileReaderSync API 已不再適用於 Service Worker。

目前只有 Firefox 和 Chrome 可在 Service Worker 中公開 FileReaderSync。 Firefox 在規格討論中表示同意 這個問題應修正Chrome 59 版預計會移除這項功能。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

淘汰 HTMLEmbedElement 和 HTMLObjectElement 的舊版呼叫端

介面有舊版呼叫端,表示執行個體可呼叫為 函式。目前,HTMLEmbedElementHTMLObjectElement 支援這項功能 功能。在 Chrome 57 中,這項功能已不適用。完成移除後 ,呼叫功能將擲回例外狀況。

本次異動讓 Chrome 符合近期規格異動。舊版行為 Edge 或 Safari 不支援這項功能,因為 已從 Firefox 移除

意圖移除 | Chromestatus Tracker | Chromium 錯誤

淘汰「交涉」的 RTCRtcpMuxPolicy

Chrome 會使用 rtcpMuxPolicy 指定相關的偏好政策 使用 RTP/RTCP 多工處理方式。在 Chrome 57 版中 rtcpMuxPolicy變更為「要求」並淘汰「協商」原因如下:

  • 非混合 RTCP 會使用額外的網路資源。
  • 正在移除「協商」會讓 API 介面變得更加簡單 &quot;RtpSender&quot;/&quot;RtpReceiver&quot;之後就只會有一個傳輸元件

在 Chrome 57 版中「協商」已淘汰我們認為這是一項非破壞性變更 由於使用者會收到淘汰訊息,RTCPeerConnection 仍可 移除功能適用於 Chrome 63 版。

意圖淘汰 | Chromium 錯誤

停止支援子資源要求中的嵌入憑證

將憑證硬式編碼至子資源要求中會發生問題 因為系統可以讓駭客在 例如過去要求取得憑證的子資源要求會造成這些危險性增加 然後連入內部 IP 範圍 (例如路由器等)。由於使用率偏低 關閉這個 (小) 的安全性漏洞似乎合理。

開發人員可以嵌入不需要基本/摘要驗證的資源, 而非 Cookie 和其他工作階段管理機制

意圖移除 | Chromestatus Tracker | Chromium 錯誤