Chrome 中已淘汰及移除的功能

瞭解 Chrome 如何移除運作不佳的功能,同時盡量減少對使用者和開發人員的影響。

Chrome 會持續新增功能,但有時也必須移除部分功能。

移除功能可降低瀏覽器程式碼庫的複雜度,並減少潛在攻擊向量,有助於維護瀏覽器安全。透過網路平台審慎協調的做法,可確保瀏覽器供應商移除運作不佳的平台功能,同時盡量減少對使用者和開發人員的干擾。

移除瀏覽器功能

如果瀏覽器未事先警告就移除功能,會導致網站無法正常運作,開發人員也很難規劃遷移至替代技術的作業。瀏覽器供應商會採取系統性做法,在移除功能前,提前提供警告、支援資源和詳細時間表。

淘汰與移除

從 Chrome 移除功能主要有兩個階段:

Chrome 等以 Chromium 為基礎的網路瀏覽器,會使用 Blink 算繪引擎將程式碼和資源轉換為可供查看及互動的網頁。工程師如要變更 Blink,必須先在 blink-dev 郵寄清單上發布貼文,取得核准後才能繼續。這些郵寄清單貼文稱為 Blink Intent。

工程師打算從 Blink 淘汰並移除某項功能時,會先在 blink-dev 郵寄清單上發布「淘汰意圖」,接著發布「移除意圖」。這兩項意圖通常會合併為淘汰及移除意圖

淘汰意圖

當 Blink 工程師想開始警告開發人員,某項瀏覽器功能預計將移除時,就會發布「預計淘汰」公告。屆時這項功能仍可使用,但開發人員將透過 Chrome 開發人員工具、網誌文章chromestatus.com,以及 MDN 和其他地方的功能說明文件,取得支援和資訊。

範例: 預計淘汰:變動事件

有意移除

當 Blink 工程師打算停用某項功能並移除相關程式碼時,就會發布「移除意圖」。「移除意圖」通常會與「淘汰意圖」合併,成為「淘汰和移除意圖」。

範例: 有意淘汰並移除 WebSQL

盡量減少對使用者和開發人員的影響

Chrome 會盡可能避免移除功能。

Chrome 工程師一律會先查看功能使用率和其他資料,再決定是否要淘汰功能。舉例來說,如果只有極少數使用者會使用某項功能,且有更好的替代方案,或是生態系統的變化導致該功能可能造成嚴重安全漏洞,我們才會移除該功能。如果其他瀏覽器打算繼續支援某項功能,Chrome 通常不會移除該功能:功能移除作業必須在瀏覽器引擎之間協調

除了 blink-dev 郵寄清單上的「意圖」貼文外,淘汰項目也會在 Chrome 開發人員網誌上公告。Chrome 開發人員工具和功能文件也會提供警告和支援資訊。您也可以在已淘汰功能的 chromestatus.com 項目中查看時間表。

暫時重新啟用已淘汰的功能

Chrome 預設移除支援後,您可能可以透過幾種方式暫時繼續使用某項功能。

  • 淘汰試用
    這是一種原始碼試用,可暫時重新啟用已變更或預設停用的功能,以便在移除前進行測試。舉例來說,Chrome 127 版起已移除對變化事件的支援。如果網站需要更多時間才能完成遷移,可以註冊淘汰試用計畫,在指定網站上暫時重新啟用這些事件。讓開發人員有更多時間導入替代解決方案。

  • Chrome Enterprise 政策
    有時我們會提供政策,讓網站暫時重新啟用已淘汰並移除的功能。舉例來說,Chrome 124 到 136 版提供MutationEventsEnabled 政策

  • Chrome 旗標
    對於部分已淘汰的功能,Chrome 旗標 可提供暫時存取權,供本機開發使用。舉例來說,我們提供 enable-unsafe-swiftshader 標記,讓開發人員重新啟用 SwiftShader,做為軟體 WebGL 的備用機制。

採取行動

身為開發人員,您必須做好準備,因應網頁平台變化。

您可以查看各瀏覽器每個新版本的發行說明,但同時也應使用穩定前瀏覽器管道測試及調整網站,為即將推出的變更 (包括移除項目) 做好準備。請確保開發團隊至少使用 Chrome 開發人員版Chrome 穩定版 存取您處理的網站。開發人員可以同時執行多個管道。這樣一來,您就能測試未來版本的 Chrome,以及在 Chrome 穩定版中體驗網站,而這很可能是大多數使用者採用的版本。

請定期檢查 Chrome 開發人員工具控制台,確認是否有淘汰警告。開發人員工具會提供資訊和資源連結,協助您遷移已淘汰的功能。此外,您也應使用多個 Chrome 管道進行自動和手動測試。

瞭解詳情