Chrome 60 淘汰與移除功能

Joe Medley
Joe Medley

幾乎每個 Chrome 版本都會看到大量更新項目, 產品效能、效能以及網路功能 平台。本文說明 Chrome 60 淘汰與移除的功能。 此功能在 6 月 8 日為 Beta 版。這份清單隨時可能變更。

安全性

crypto.subtle 需要安全來源

Web Crypto API 自 Chrome 37 以來,一直都是 考量到 Chrome 的長期政策 優先提供強大功能的安全來源 畫面上未顯示 crypto.subtle

意圖移除 | Chromium 錯誤

移除資料網址啟動的頂層頁框瀏覽操作

由於他們不熟悉瀏覽器以外的瀏覽器,我們 越來越多人發現 data: 配置用於假冒和網路釣魚 網路攻擊。為避免這種情況,我們正在禁止網頁載入 data: 個網址 外框這適用於 <a> 個標記、window.openwindow.location 和類似機制。data: 配置仍可用於 也就是網頁上載入的多個資源

這項功能已在 Chrome 58 版中淘汰,現已移除。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

暫時停用部分 blob 的 navigator.sendBeacon()

navigator.sendBeacon() 函式現已推出 下載即可。 原先實作中,函式的 data 引數可包含任何 類型不是 CORS 安全清單的任意 blob。我們認為這是 安全威脅,但還沒有人試圖利用。因為我們「不」 有合理的立即修正結果,但 sendBeacon() 無法 類型並非 CORS 安全清單的 blob

雖然這項變更是在 Chrome 60 上導入,但現在已經合併 Chrome 59。

Chromium 錯誤

CSS

讓子陰影子系合併器的運作方式像子系組合器一樣

陰影穿環子系組合 (>>>),部分為 CSS 範圍設定模組層級 1 ,是用來比對特定上階元素的子項 即使它們出現在陰影樹中也一樣目前有一些限制。 首先,根據規格 只能在 querySelector() 等 JavaScript 呼叫中使用,因此無法使用 您需要在樣式表中編寫程式碼更重要的是,瀏覽器供應商無法在 超出了 Shadow DOM 等級的一半

因此子合併器已從相關規格中移除 包括 Shadow DOM v1我們不建議您移除這個選取器,藉此破壞網頁 我們選擇改為別名 與子系組合運算子的結合。原本的行為是 已淘汰。 在 Chrome 61 版中實作新行為。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

JavaScript

淘汰並移除 RTCPeerConnection.getStreamById()

大約兩年前,getStreamById() 已從 WebRTC 規格中移除。大多數的其他瀏覽器 已從實作中移除此項目雖然這個函式 而且被認為很少使用 Safari 以外的 Edge 和 WebKit 瀏覽器互通性風險 (仍支援 getStreamById())。需要其他方案的開發人員 實作方式可以在下方找到移除意圖中的程式碼範例。

移除功能適用於 Chrome 62 版。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

淘汰 SVGPathElement.getPathSegAtLength

兩年多前,getPathSegAtLength() 已從 SVG 規格中移除。 由於這個方法在 httpArchive 中只有少量命中, 即將在 Chrome 60 中淘汰我們預計將在 Chrome 62 版中移除 會在 10 月初或中旬出貨。

意圖淘汰 | Chromestatus Tracker | Chromium 錯誤

將 getContextAttributes() 移至標記後方

getContextAttributes() 函式支援 CanvasRenderingContext2D 。然而,此功能並未成為任何標準的一部分,因此還未成為 。應該在 --enable-experimental-canvas-features 指令列標記,但不小心輸入了錯誤內容 而不是我們已在 Chrome 60 中修正這項監管作業。應該可以 由於沒有資料顯示有任何人使用這個方法,所以很安全。

Chromium 錯誤

移除 Headers.prototype.getAll()

正在根據最新的值移除 Headers.prototype.getAll() 函式 「擷取規格」版本。

意圖移除 | Chromestatus Tracker | Chromium 錯誤

移除已建立索引的 DB.webkitGetDatabaseNames()

當已建立索引的資料庫在 Chrome 中較新,並加上前置字元時,我們新增了這項功能 那是很激動的。API 會以非同步的方式傳回現有資料庫的清單 而且看起來很合理

不幸的是,此設計無效,所以結果可能很快就會過時 所以只會用來進行記錄,而不是認真的 應用程式邏輯 GitHub 問題追蹤/連結 這部分需要不同的做法。 儘管缺乏 瀏覽器進度,這個問題已經解決。

需要這項功能的開發人員必須自行開發解決方案。 例如 Dexie.js 等程式庫使用全域資料表 也就是追蹤資料庫名稱的另一個資料庫

這項功能已在 Chrome 58 版中淘汰,現已移除。

意圖移除 |Chromestatus Tracker | Chromium 錯誤

移除 WEBKIT_KEYFRAMES_RULE 和 WEBKIT_KEYFRAME_RULE

非標準 WEBKIT_KEYFRAMES_RULEWEBKIT_KEYFRAME_RULE 常數 已從以下位置移除: CSS 規則。 開發人員應改用 KEYFRAMES_RULEKEYFRAME_RULE

意圖移除 |Chromestatus Tracker | Chromium 錯誤

使用者介面

要求使用者以手勢執行 beforeunload 對話方塊

從 Chrome 60 以上版本開始,beforeunload 對話方塊只會在頁框中顯示 使用者嘗試顯示小工具 已收到使用者手勢或使用者互動 (或 任何內嵌影格都收到這類手勢)。請注意,這並不是 變更 beforeunload 事件的調度。只要變更 是否要顯示對話方塊

beforeunload 對話方塊是應用程式互動對話方塊。因此,本質上 使用者不穩定,意味著它是在回應使用者的瀏覽時回應 決策。這項功能目前有正面使用。舉例來說 在使用者因瀏覽資料而遺失資料時發出警告。

雖然能夠為頁面提供beforeunload對話方塊的文字 「beforeunload」對話方塊仍是濫用的手段,於 具體來說,beforeunload 對話方塊是詐騙網站的其中一個元素,而 「自動播放音訊和威脅文字」可提供 Chromium 的脈絡 提供「確定要離開此頁面嗎」就會感到焦慮

我們希望串連它,並僅允許使用 beforeunload 對話方塊對話方塊的實用之處,就是使用者可能的狀態 但損失。如果使用者從未與網頁互動,使用者就不能 因此不會因為任何原因而遺失 在這種情況下,隱藏對話方塊。