在絕大多數的 Chrome 版本中,我們都發現大量的更新和改善項目,包含產品、效能和網路平台的功能。本文說明 Chrome 52 的異動內容,這是截至 6 月 9 日為止的 Beta 版。這份清單隨時可能有所變動。
淘汰 MediaStream 已結束的事件、屬性和既有屬性
TL;DR:ended
事件、屬性和 onended
事件處理常式已淘汰,因為這些處理常式已從媒體擷取和串流規格中移除。
意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤
大約三年內,ended
事件和 onended
事件處理常式都未納入 WebRTC 規格。想要觀看事件的開發人員應使用 MediaStreamTracks
,而非 MediaStreams
。
Chrome 53 預計會移除這項功能。
在觸控事件期間封鎖跨來源 iframe 的彈出式視窗 (在輕觸手勢期間除外)
重點摘要:針對未對應至跨來源 iframe 內部輕觸的觸控事件,Chrome 會開始禁止顯示彈出式視窗及其他敏感事件。
意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤
觸控事件本身的性質非常相似,與相應的滑鼠事件相比,觸控事件可能不夠明確。舉例來說,如果使用者在螢幕上滑動手指,是否會滑動切換鈕或捲動檢視畫面?iframe 中的部分第三方內容利用這個明確性,刻意停用所屬網頁的捲動功能。
為因應這一點,系統將禁止跨來源 iframe 的觸控事件執行彈出式視窗和其他敏感作業。觸控事件仍會照常運作。
淘汰 postMessage() 的超載
重點摘要:針對 postMessage()
介面上不需要和很少使用的變化版本,我們已淘汰,特別是 postMessage(message, transferables, targetOrigin)
。
意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤
postMessage()
方法可讓您安全地在不同來源的頁面指令碼之間進行通訊。WebKit/Blink 支援三種版本:
postMessage(message, targetOrigin)
postMessage(message, targetOrigin, transferables)
postMessage(message, transferables, targetOrigin)
此清單中的最後一個項目是規格的演進和實作歷史上的意外狀況。這個版本很少使用,因此將於日後淘汰。這適用於 window.postMessage()
和 worker.postMessage()
。
Chrome 54 預計會移除這項功能。
移除對以下項目中的 X-Frame-Options 支援: 標記
重點摘要:為遵守規格並促進與其他瀏覽器的一致性,我們已移除 <meta>
標記內對 X-Frame-Options
的支援功能。
X-Frame-Options
HTTP 回應標頭會顯示瀏覽器能否在 <frame>
、<iframe>
或 <object>
標記中算繪網頁。這麼做可以避免網站發生點擊綁架的情況,因為這類網頁無法嵌入其他網站。目前的 X-Frame-Options 規格版本明確限制了使用者代理程式,無法在 <meta>
標記內支援這個欄位。
為遵守規範並提高與其他瀏覽器的一致性,我們已移除 <meta>
標記內對 X-Frame-Options
的支援。
移除非主要按鈕點擊事件
重點摘要:非主要滑鼠點擊不會再觸發點擊事件,但 MouseEvent.button
仍可使用。
意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤
為了讓 Chrome 符合 UIEvents 規格,我們將移除非主要滑鼠按鈕的點擊事件。非主要的滑鼠按鈕會因裝置而異。通常是指按住滑鼠或滑鼠左鍵以外的任何內容。請注意,您仍可使用傳送至事件 (例如 mousedown
或 mouseup
) 的 MouseEvent.button
屬性擷取精確的按鈕。
移除 requestAutocomplete()
requestAutocomplete()
函式可讓瀏覽器的自動填入功能視需求填入表單。然而超過兩年,只有 Blink 支援這項功能,且使用率偏低。基於這些原因,requestAutocomplete()
已在 Chrome 52 中移除。