Chrome 80 淘汰與移除功能

喬梅利
Joe Medley

禁止在頁面關閉時同步 XMLHTTPRequest()

當網頁離開頁面或遭使用者關閉時,Chrome 會禁止同步呼叫 XMLHTTPRequest()。這適用於 beforeunloadunloadpagehidevisibilitychange

為確保資料在頁面卸載時傳送至伺服器,建議使用 sendBeacon()Fetch keep-alive。目前,企業使用者可以使用 AllowSyncXHRInPageDismissal 政策旗標,而開發人員則可使用來源試用標記 allow-sync-xhr-in-page-dismissal,在頁面卸載期間允許同步 XHR 要求。這是暫時性的「選擇不採用」措施,我們預計在 Chrome 第 88 版中移除這個標記。

如要進一步瞭解這項政策與替代方案,請參閱「禁止在網頁關閉期間執行同步 XMLHTTPRequest()」。

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

停止支援 FTP

目前 Chrome 中的 FTP 實作不支援加密連線 (FTPS) 和 Proxy。在瀏覽器中使用 FTP 相當低,畢竟不用再投入心力改善現有的 FTP 用戶端。此外,所有受影響的平台也提供更多支援的 FTP 用戶端。

從 Chrome 72 版中移除支援透過 FTP 擷取文件子資源,以及轉譯頂層 FTP 資源的功能。目前前往 FTP 網址時,系統會根據資源類型顯示目錄清單或下載項目。Google Chrome 74 以上版本中的一項錯誤,導致支援透過 HTTP Proxy 存取 FTP 網址。Google Chrome 76 版已完全移除 FTP 的 Proxy 支援。

Google Chrome FTP 實作的其餘功能只能顯示目錄清單,或透過未加密連線下載資源。

我們會依序設定下列淘汰時程:

Chrome 80 (穩定版於 2020 年 2 月)

非企業用戶端預設停用 FTP,但您可以使用 --enable-ftp--enable-features=FtpProtocol 指令列旗標啟用。您也可以使用 chrome://flags 中的 #enable-ftp 選項開啟這項功能。

Chrome 81 (穩定版於 2020 年 3 月)

所有 Chrome 安裝作業預設會停用 FTP,但您可以使用 --enable-ftp--enable-features=FtpProtocol 指令列旗標加以啟用。

Chrome 82 (穩定版於 2020 年 4 月)

FTP 支援功能將完全移除。

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

禁止在頁面卸載時顯示彈出式視窗

在卸載時,網頁無法再使用 window.open() 開啟新網頁。雖然 Chrome 彈出式視窗攔截器已禁止這項操作,但現在不論是否啟用彈出式視窗攔截器,都不得這樣做。

企業可以使用 AllowPopupsDuringPageUnload 政策旗標,允許在卸載期間顯示彈出式視窗。Chrome 預計在 Chrome 第 82 版中移除這個標記。

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

已移除非原始來源的 ImageBitmap 序列化和轉移功能

現在當指令碼嘗試序列化或轉移非原始來源的 ImageBitmap 時,將會回報錯誤。非來源清理 ImageBitmap 是指包含未經 CORS 邏輯驗證的跨來源圖片資料。

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

通訊協定處理現在需要安全的內容

registerProtocolHandler()unregisterProtocolHandler() 方法現在需要安全的結構定義。這些方法可重新設定用戶端狀態,允許透過網路傳輸潛在的機密資料。

registerProtocolHandler() 方法可讓使用者註冊網頁,以便在使用者同意後處理通訊協定。例如,網頁式電子郵件應用程式可以註冊來處理 mailto: 配置。對應的 unregisterProtocolHandler() 方法會允許網站放棄通訊協定處理的註冊作業。

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

已移除 Web 元件 v0

Web Component v0 現已從 Chrome 中移除。網頁元件 v1 API 是網路平台標準,並隨附於 Chrome、Safari、Firefox 和 (即將) Edge。如需升級指南,請參閱「網頁元件更新:有更多時間升級至 v1 API」。下列功能現已移除。此淘汰項目涵蓋下列項目。

自訂元素

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

HTML 匯入

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

陰影 DOM

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

針對任意元素移除 -webkit-lookance:button

變更 -webkit-appearance:button,使其僅適用於 <button><input> 按鈕。如果將 button 指定為不支援的元素,則元素會預設外觀。所有其他 -webkit-appearance 關鍵字都已設有這類限制。

意圖移除 | Chrome 平台狀態 | Chromium 錯誤

廢止政策

為維持平台的健康狀態,我們有時會從執行課程的網路平台中移除 API。我們移除 API 的原因有很多,例如:

  • 而是由較新的 API 取代。
  • 並進行更新,藉此反映規格變更,以便與其他瀏覽器保持一致並保持一致。
  • 這些都是從未在其他瀏覽器發生的早期實驗,因此會增加網頁開發人員的支援負擔。

其中一些變更會對少數網站產生影響。為及早減少問題,我們會盡可能提前通知開發人員,讓開發人員能夠進行必要調整,確保網站能持續運作。

Chrome 目前提供 淘汰和移除 API 的程序,基本上:

  • blink-dev 郵寄清單中公告。
  • 在 Chrome 開發人員工具控制台中偵測到使用情況時,設定警告並給予時間增減。
  • 請等待系統持續監控,並在用量減少時移除這項功能。

如要查看 chromestatus.com 上所有已淘汰功能的清單,請使用 已淘汰的篩選器 ,並套用移除的篩選器。此外,也會嘗試彙整這些貼文中的部分變更、原因和遷移路徑。