Chrome 51 淘汰和移除 API

喬梅利
Joe Medley

在絕大多數的 Chrome 版本中,我們都發現大量的更新和改善項目,包含產品、效能和網路平台的功能。

Chrome 51 (2016 年 4 月) 中的 Chrome 有一些異動,

移除對 SPDY/3.1 的支援

重點摘要:廣泛支援 HTTP/2,因此可以捨棄 SPDY/3.1 支援。

意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤

SPDY/3.1 是實驗性的應用程式層通訊協定,可提供比 HTTP/1.1 的效能提升。答案包括多工連線和伺服器推送等。其許多功能都已併入 HTTP/2,後者已於去年 5 月以 RFC 發布。由於主要伺服器和用戶端支援 HTTP/2,因此該從 Chrome 移除 SPDY/3.1 了。

移除 TLS 下一個通訊協定交涉 (NPN)

TL;DR:在 SPDY 淘汰時,NPN 先前已替換為 ALPN。

意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤

NPN 是用於交涉 SPDY 的傳輸層安全標準 (TLS) 擴充功能 (在轉場期間的 HTTP/2)。在標準化程序中,NPN 已替換為 ALPN,於 2014 年 7 月發布為 RFC 7301。我們會同時移除 NPN 和 SPDY 移除作業。

移除 onbeforeunload 對話方塊中的自訂訊息

重點摘要:視窗的 onbeforeunload 屬性不再支援自訂字串。

意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤

視窗的 onbeforeunload 屬性可以設為一個函式,該函式會傳回字串,並向使用者顯示,以便在對話方塊中確認使用者是否要離開。這麼做是為了防止使用者在導航期間遺失資料。不幸的是,詐騙使用者常常有詐騙行為。

從 Chrome 51 版開始,使用者將無法再顯示自訂字串。Chrome 仍會顯示對話方塊,防止使用者遺失資料,但其內容將由瀏覽器 (而非網頁) 設定。

這項異動生效後,Chrome 將支援 Safari 9.1 以上版本和 Firefox 4 以上版本。

<input type=search> 的結果屬性已淘汰

TL;DR:results 屬性不屬於任何標準,且未在各種瀏覽器中以不一致的方式實作,因此已遭淘汰。

意圖移除 | Chrome 狀態追蹤工具 | Chromium 錯誤

results 值只能在 Webkit 中實作,而且運作方式極為不一致。舉例來說,Chrome 會在輸入框中加入放大鏡圖示,在 Safari 電腦版中,則會控制按一下「放大鏡」圖示顯示的彈出式視窗中已提交查詢數量。這不是任何標準的一部分,因此已淘汰。

如果您依然需要在輸入欄位中納入搜尋圖示,就必須為元素新增一些自訂樣式。方法是加入背景圖片,然後在輸入欄位中指定左側邊框間距。

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
     padding-left:30px;
    }

Chrome 53 預計會移除這項功能。