Chrome 125

穩定版發布日期:2024 年 5 月 14 日

除非另有說明,否則下列變更適用於 Android、ChromeOS、Linux、macOS 和 Windows 的 Chrome 125 穩定版。

HTML 和 DOM

宣告式陰影 DOM 序列化

這項功能可讓開發人員將含有陰影根的 DOM 樹狀結構序列化,最近已在 HTML 標準中標準化。

追蹤錯誤 #41490936 | ChromeStatus.com 項目 | 規格

CSS

CSS 錨點定位

CSS 錨定位置可讓開發人員「共用」絕對位置的元素 透過宣告式方式與網頁上的一或多個其他元素 (錨點) 互動 而不必使用 JavaScript當錨點可捲動時,錨點定位功能會正常運作。常見的用途是將彈出式視窗 (例如工具提示) 放在呼叫該彈出式視窗的元素旁邊,或是選取選單及其彈出式視窗選項清單。在錨點定位功能推出之前,這些用途需要使用 JavaScript 動態定位彈出式視窗,並在叫用元素捲動時將其固定在原處,這會影響效能,且難以正確執行。使用錨定位置時,可實現以下用途 讓您以宣告性和宣告性

錨點定位功能包含大量 CSS 屬性。以下是幾個主要的屬性:

  • anchor-name:將元素設為其他元素的錨點。
  • position-anchor:說明「預設」錨定元素 用於錨定位置。
  • anchor() 函式:用於參照錨點元素的位置,以便定位錨點元素。
  • inset-area:用於定位的簡寫,適用於一般相對位置。

隆重推出 CSS 錨定定位 API | 追蹤錯誤 #40059176 | ChromeStatus.com 項目 | 規格

CSS 階梯式值函式:round()mod()rem()

階梯值函式 round()mod()rem(),則所有指定的轉換 設定為另一個「步驟價值」的值。

round() CSS 函式會根據所選的捨入策略傳回四捨五入的數字。

mod() CSS 函式會在第一個參數為 與 JavaScript 餘數運算子類似 (%)。模數是指一個運算元 (亦即被除數) 時剩餘的值。 除以第二個運算元,即除數。它一律需要 除號

當第一個參數除以第二個參數時,rem() CSS 函式會傳回剩餘的餘數,類似於 JavaScript 的餘數運算子 (%)。當一個運算元 (除數) 除以第二個運算元 (除數器) 時,餘數就是剩餘的值。它一律需要 除以被除數

追蹤錯誤 #40253179 | ChromeStatus.com 項目 | 規格

CSS 自訂 :state() 的新語法

CSS 自訂狀態可讓自訂元素顯示自己的虛擬類別。 語法現已在 CSSWG 中指定,而 Chrome 125 現在支援新的 語法 :state(foo)。這項變更會提供一個視窗,讓 Chrome 同時支援舊語法 (:--foo) 和新語法,讓網站可以切換至新語法。

ChromeStatus.com 項目 | 規格

移除 Oklab 和 Oklch 色彩的不連續性,亮度將近 100% 或 0

在這項變更之前,所有研究室、LCH、Oklab 以及 Oklch 顏色搭配亮度值 的 100% 都是白色,無論其他兩個參數為何。這些色彩空間中亮度值為 0 的所有顏色都會顯示為黑色。這些 兩個對應造成漸層不連貫,而且出乎意料 開發人員。

這項回溯作業後,這些顏色就不會再人為對應,因此顯示的顏色會與附近顏色連續,並取決於螢幕的色域對應。

ChromeStatus.com 項目 | 規格

已使用的色彩配置根捲軸

讓瀏覽器根據使用者偏好的色彩配置轉譯可視區域 捲軸 (如果值為「網頁支援的色彩配置」)為「正常」或不等於 運算值 color-scheme敬上 的根元素為 normal視窗檢視區捲軸可視為位於網站內容之外。因此,使用者代理程式應尊重使用者的 算繪可視區域捲軸時的偏好色彩配置 (如果開發人員有使用 未明確指定支援色彩配置。

這項變更並不會妨礙開發人員控制 捲軸只有在開發人員未指定根元素的色彩配置時,瀏覽器才會使用使用者偏好的色彩配置,來算繪檢視區非重疊捲軸。

名稱 | 追蹤錯誤 #40259909 | ChromeStatus.com 項目 | 規格

view-transitions 類別

我們推出了新的 CSS 屬性 view-transition-class,可讓您指定一或多個檢視畫面轉場類別。接著就能選取 使用這些類別的 ViewTransition 虛擬元素,例如 ::view-transition-group(*.class)

這是 ViewTransition API 的擴充功能 可簡化檢視區塊轉換虛擬元素的樣式 可簡化一般 DOM 元素的樣式

追蹤錯誤 #41492972 | ChromeStatus.com 項目 | 規格

載入中

在建構 WebSocket 時接受 HTTP 和 HTTPS 網址

這項更新會在 WebSocket 建構函式中啟用 HTTP 和 HTTPS 配置, 因此,開發人員也可以使用相對網址這些數值會正規化為 ws:wss: 內部配置。

追蹤錯誤 #325979102 | ChromeStatus.com 項目 | 規格

網站 API

Attribution Reporting API 的新增功能

我們已在 Attribution Reporting API 中新增功能,以便支援剖析失敗偵錯報表,並透過支援指定偏好登錄平台的欄位,改善 API 人因工程,以及提升隱私權。

ChromeStatus.com 項目

Compute Pressure API

Compute Pressure API 提供高層級狀態,代表系統上的 CPU 負載。這樣就能 使用正確的基礎硬體指標來確保使用者 可以充分運用所有可用的處理能力 系統沒有可以管理的壓力

Intel 負責設計及實作這個 API,讓視訊會議應用程式能動態平衡功能和效能。

Compute Pressure API | 追蹤錯誤 #40683064 | ChromeStatus.com 項目 | 規格

這會啟動 Storage Access API 的建議擴充功能 (回溯相容且已在來源測試中),允許存取第三方內容中的未分割 Cookie 和非 Cookie 儲存空間。目前的 API 只提供 Cookie 存取權,而 Cookie 的用途與非 Cookie 儲存空間不同。

追蹤錯誤 #40282415 | ChromeStatus.com 項目 | 規格

FedCM 在 ID 斷言端點上的 CORS 規定

由於 FedCM API 中的擷取作業需要特定屬性,因此很難推論。雖然我們仍在討論帳戶端點,但大多數人都同意 ID 斷言端點應使用 CORS。這項更新可讓這項擷取作業的安全性屬性與網頁平台中的其他擷取作業更加一致。

FedCM 更新:按鈕模式 API 來源測試、CORS 和 SameSite | 追蹤錯誤 #40284123 | ChromeStatus.com 項目

FedCM 現在會透過 CORS 傳送 ID 斷言要求。這項變更表示 Chrome 不再將 SameSite=Strict Cookie 傳送至 ID 斷言端點,但 Chrome 仍會傳送 SameSite=None。由於將不同組 Cookie 傳送至帳戶端點和 ID 斷言端點並不合理,因此這項變更可讓兩者保持一致。

不傳送 SameSite=Strict 個 Cookie 也與 requestStorageAccess 項行為 以及跨網站要求

追蹤錯誤 #329145816 | ChromeStatus.com 項目 | 規格

可互通的 mousemove 預設動作

Chrome 允許取消 mousemove 事件,以防止其他 API 發生,例如文字選取 (甚至是過去的拖曳和放置)。這與其他主要瀏覽器不相符,也不符合 UI 事件規格。現在,文字選取不再是 mousemove 的預設動作。您仍可透過取消 selectstartdragstart 事件,分別防止文字選取和拖曳作業。

這項功能將自 Chrome 125 起逐步推出,預計將在何時推出 。

示範 | 追蹤錯誤 #40078978 | ChromeStatus.com 項目 | 規格

規則運算式修飾符

規則運算式修飾符可讓您在模式中局部修改 ims 標記。

如要為子運算式啟用標記,請使用 (?X:subexpr),其中 Xims 之一。如要停用子運算式的旗標,請使用 (-X:subexpr)

舉例來說,如果是不區分大小寫的 i 標記:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

ChromeStatus.com 項目 | 規格

規則運算式重複命名的擷取群組

重複命名的擷取群組可讓您在替代方案中使用相同的擷取群組名稱。範例說明

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

在這種情況下,year 適用於第 1 個替代方案 ((?<year>[0-9]{4})-[0-9]{2}) 或第 2 個替代方案 ([0-9]{2}-(?<year>[0-9]{4}))。

ChromeStatus.com 項目 | 規格

Chrome 應用程式

Chrome 應用程式中的 Direct Sockets API

這項更新可協助使用者輕鬆從 Chrome 應用程式 在 Chrome 應用程式中啟用 Direct Sockets 以允許網頁應用程式,藉此隔離網頁應用程式 建立直接傳輸控制通訊協定 (TCP) 和使用者資料元通訊協定 (UDP) 與網路裝置與系統通訊。

ChromeStatus.com 項目 | 規格

新的來源試用

FedCM Button Mode API 和 Use Other Account API

這項原點測試包含下列兩個 FedCM API。

Button Mode API 可讓網站在點選按鈕時呼叫 FedCM,例如 點選「Sign-in to IdP」按鈕。這會要求 FedCM 確保一律以可見的使用者介面回應,而非小工具模式,因為後者會在使用者登出時不顯示 UI。在以下位置呼叫 FedCM API: 按鈕模式會將使用者導向 IdP (在對話方塊視窗中), 。

此外,因為系統會在明確的情況下呼叫按鈕模式 使用者介面可能也更加顯眼 (例如置中和強制回應) 與小工具模式的使用者介面相比 (沒有如此明確的 個人意圖)。進一步瞭解 Button Mode API 在 FedCM 更新:Button Mode API 來源試用、CORS 和 SameSite

使用 Other Account API 可讓識別資訊提供者允許使用者登入 和其他帳戶

來源試用 | 示範 | 追蹤錯誤 #40284792 | ChromeStatus.com 項目 | 規格

摺疊式 API

這項原始試用版包含 Device Posture API 和 Viewport Segments Enumeration API。這些 API 旨在協助開發人員開發可折疊裝置。

來源試用 | 折疊式 API 的來源試用 | ChromeStatus.com 項目 | 規格

針對附帶前置字串的 HTMLVideoElement 全螢幕屬性和方法停用試用

在這個淘汰試用期間,如果您需要更多時間調整程式碼,可以選擇恢復支援前置字首 HTMLVideoElement 屬性和方法。

Origin Trial | ChromeStatus.com 項目

略過預先載入掃描

略過預先載入掃描器直接探索 針對沒有擷取子資源的網頁,權衡效能。

預先載入掃描器步驟可改善含有子資源的頁面效能 並透過推測式預先擷取的方式進行擷取。不過,如果網頁沒有任何子資源,也就是無法從這項步驟中受益,這項步驟就會造成額外的處理開銷,但帶來的效益不大。

對於希望減少這類額外負擔的進階網頁使用者,這項實驗提供網頁層級控制項,可停用預先載入掃描器。資料 評估根據實驗結果收集的 API HTML 預先載入掃描器的實作也會有所幫助。

Origin Trial | 追蹤錯誤 #330802493 | ChromeStatus.com 項目 | 規格

淘汰和下架

移除「window-placement」「window-management」權限和權限政策的別名

移除「window-placement」權限和權限政策的別名 「window-management」。這是為了讓字串更名為 最終 淘汰並移除「window-placement」。 詞彙異動能像 Window 一樣,改善描述元的壽命 Management API 會隨著時間不斷進步。

名稱 | 追蹤錯誤 #40842072 | ChromeStatus.com 項目 | 規格

移除企業政策:NewBaseUrlInheritanceBehaviorAllowed

自 2023 年 8 月 (Chrome 118) 起,這項企業政策覆寫值所覆寫的基礎程式碼變更 (啟用新的基礎網址繼承行為) 已在穩定版中啟用。既然我們已處理已知問題,這個企業 政策已在 Chrome 125 版中移除。

ChromeStatus.com 項目

移除附帶前置字串的 HTMLVideoElement Fullscreen 屬性和方法

附帶前置字串的 HTMLVideoElement 全螢幕 API 已自 Chrome 38 版起淘汰。這些位置已由 Element.requestFullscreen() 取代 Chrome 71 版於 2018 年統一出貨。

下列屬性和方法將從 HTMLVideoElement 中移除:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (請注意,FullScreen 中的「S」是大寫)
  • webkitExitFullScreen()

如果您的網站仍仰賴這些元素,且需要更多時間更新程式碼,請註冊本文列出的淘汰試用方案

ChromeStatus.com 項目

延伸閱讀

想瞭解更多資訊嗎?請參考這些額外資源。

下載 Google Chrome

下載 Android電腦iOS 版的 Chrome。