禁止在網頁關閉期間提出同步 XMLHTTPRequest()
當使用者離開或關閉網頁時,Chrome 現在會在網頁關閉期間禁止對 XMLHTTPRequest()
的同步呼叫。這適用於 beforeunload
、unload
、pagehide
和 visibilitychange
。
為確保在頁面卸載時將資料傳送至伺服器,建議您使用 sendBeacon()
或 Fetch
keep-alive
。目前,企業使用者可以使用 AllowSyncXHRInPageDismissal
政策標記,開發人員則可以使用來源測試標記 allow-sync-xhr-in-page-dismissal
,在網頁卸載期間允許同步 XHR 要求。這是暫時性的「選擇不採用」措施,我們預計會在 Chrome 88 中移除這個標記。
如要進一步瞭解這項設定和替代方案,請參閱「在關閉網頁時禁止使用同步 XMLHTTPRequest()」。
Intent to Remove | 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。
Intent to Remove | Chrome 平台狀態 | Chromium 錯誤
禁止在網頁卸載期間顯示彈出式視窗
頁面可能不再使用 window.open()
在卸載期間開啟新頁面。Chrome 彈出式視窗封鎖程式已禁止這項操作,但現在無論是否已啟用彈出式視窗封鎖程式,這項操作都已遭到禁止。
企業可以使用 AllowPopupsDuringPageUnload
政策標記,在卸載期間允許彈出式視窗。Chrome 預計在 Chrome 82 中移除這個標記。
Intent to Remove | Chromestatus Tracker | Chromium Bug
移除非原始清除的 ImageBitmap 序列化和傳輸
當指令碼嘗試序列化或傳輸非原始清除 ImageBitmap 時,現在會發生錯誤。非原始清除 ImageBitmap 是指含有來自跨來源圖片的資料,但未經 CORS 邏輯驗證。
Intent to Remove | Chrome 平台狀態 | Chromium 錯誤
通訊協定處理作業現在需要安全內容
registerProtocolHandler()
和 unregisterProtocolHandler()
方法現在需要安全的上下文。這些方法可重新設定用戶端狀態,讓用戶端可透過網路傳輸可能含有機密資料的資料。
registerProtocolHandler()
方法會為網頁提供機制,讓網頁在使用者同意後註冊自己來處理協定。舉例來說,以網頁為基礎的電子郵件應用程式可以註冊來處理 mailto:
配置。對應的 unregisterProtocolHandler()
方法可讓網站放棄其通訊協定處理註冊。
Intent to Remove | Chrome 平台狀態 | Chromium 錯誤
已移除 Web Components v0
Web Components v0 現已從 Chrome 中移除。Web Components v1 API 是網路平台標準,已在 Chrome、Safari、Firefox 和 (即將推出的) Edge 中推出。如需升級指南,請參閱「Web Components 更新:更多時間升級至 v1 API」。以下功能現已移除。這項停用作業涵蓋下列項目。
自訂元素
Intent to Remove | Chrome 平台狀態 | Chromium 錯誤
HTML 匯入
Intent to Remove | Chrome 平台狀態 | Chromium 錯誤
Shadow DOM
Intent to Remove | Chrome 平台狀態 | Chromium 錯誤
移除任意元素的 -webkit-appearance:button
變更 -webkit-appearance:button
,使其僅可搭配 <button>
和 <input>
按鈕運作。如果 button
是針對不支援的元素指定,則該元素會顯示預設外觀。所有其他 -webkit-appearance
關鍵字都已設有這類限制。
Intent to Remove | Chrome 平台狀態 | Chromium 錯誤
廢止政策
為確保平台運作順暢,我們有時會從 Web 平台移除已完成任務的 API。我們移除 API 的原因有很多,例如:
- 已由較新的 API 取代。
- 這些規格會隨著規範的變更而更新,以便與其他瀏覽器保持一致。
- 這些早期實驗在其他瀏覽器中從未成功,因此可能會增加網路開發人員的支援負擔。
其中部分變更只會影響極少數的網站。為提前減輕問題,我們會盡量提前通知開發人員,讓他們進行必要變更,確保網站正常運作。
Chrome 目前有 淘汰和移除 API 的程序,主要步驟如下:
- 在 blink-dev 郵寄清單上發布公告。
- 在 Chrome 開發人員工具控制台中設定警告,並在偵測到網頁使用情形時提供時間刻度。
- 請等待並監控,當使用率下降時再移除該功能。
您可以使用 已淘汰的篩選器 ,在 chromestatus.com 上查看所有已淘汰的功能清單,也可以套用已移除的篩選器,查看已移除的功能。我們也會在這些文章中總結部分變更、原因和遷移路徑。