幾乎每個 Chrome 版本都會看到大量更新項目, 產品效能、效能以及網路功能 平台。本文將介紹 Chrome 52 版中的各項變更 (在 Beta 版中為 將於 6 月 9 日推出這份清單隨時可能變更。
淘汰 MediaStream 結束的事件、屬性以及 onended 屬性
TL;DR:由於 ended
事件和屬性和 onended
事件處理常式已從媒體擷取和串流規格中移除,因此已遭淘汰。
意圖移除 | Chromestatus Tracker | Chromium 錯誤
大約三年的時間,ended
事件和 onended
事件處理常式都不在 WebRTC 規格中。想要查看事件的開發人員應使用 MediaStreamTracks
,而非 MediaStreams
。
Chrome 53 版預計會移除這項功能。
在觸控事件期間封鎖跨來源 iframe 的彈出式視窗 (輕觸手勢除外)
重點摘要:Chrome 將開始禁止在跨來源 iframe 內部輕觸的觸控事件時,禁止彈出式視窗和其他敏感作業。
意圖移除 | Chromestatus Tracker | Chromium 錯誤
觸控事件本質上就比較明確,與對應的滑鼠事件相比,可能會顯得明確。舉例來說,如果使用者在螢幕上滑動一根手指,是否有人滑動切換開關或捲動檢視畫面?iframe 中的部分第三方內容利用了這種不確定性,刻意停用所在網頁的捲動功能。
為解決這個問題,系統禁止來自跨來源 iframe 的觸控事件彈出式視窗和其他敏感作業。觸控事件會照常運作。
淘汰 postMessage() 的超載
TL;DR:我們即將淘汰 postMessage()
介面上非必要和很少使用的變化版本,特別是 postMessage(message, transferables, targetOrigin)
。
意圖移除 | Chromestatus Tracker | Chromium 錯誤
postMessage()
方法可讓您安全地在不同來源上的網頁指令碼之間進行通訊。WebKit/Blink 支援三種版本:
postMessage(message, targetOrigin)
postMessage(message, targetOrigin, transferables)
postMessage(message, transferables, targetOrigin)
這份清單中的最後一個項目,是來自規格的演進與實作歷史的意外。由於這個模型很少使用,因此將已淘汰,並在之後移除。這同時適用於 window.postMessage()
和 worker.postMessage()
。
Chrome 54 版預計會移除 Chrome 版本。
移除對 X-Frame-Options 的支援 標記
重點摘要:為了遵守規格並增加其他瀏覽器的一致性,我們將移除 <meta>
標記內對 X-Frame-Options
的支援。
X-Frame-Options
HTTP 回應標頭可指出瀏覽器是否能在 <frame>
、<iframe>
或 <object>
標記中轉譯網頁。這樣這類網頁無法嵌入其他網站,可避免網站發生點擊劫持情形。目前的 X-Frame-Options 規格已明確限制使用者代理程式在 <meta>
標記中支援這個欄位。
為遵守這項規格,並提高其他瀏覽器的一致性,我們將停止支援 <meta>
標記內的 X-Frame-Options
。
移除非主要按鈕點擊事件
重點摘要:非主要滑鼠點擊無法再觸發點擊事件,但仍可使用 MouseEvent.button
。
意圖移除 | Chromestatus Tracker | Chromium 錯誤
為了讓 Chrome 符合 UIEvents 規格,我們將移除非主要滑鼠按鈕的點擊事件。非主要滑鼠按鈕會因裝置而異。一般來說,這意味著除了右鍵或左鍵外,其他任何項目。請注意,您仍可使用傳送至 mousedown
或 mouseup
等事件的 MouseEvent.button
屬性,擷取所點選的精確按鈕。
移除 requestAutocomplete()
requestAutocomplete()
函式允許由瀏覽器的自動填入功能視需要填寫表單。然而,這項功能目前只在 Blink 中推出,且使用率低。基於上述原因,requestAutocomplete()
已從 Chrome 52 版中移除。