Chrome 140 Beta 版

發布日期:2025 年 8 月 6 日

除非另有說明,否則下列異動適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。如要進一步瞭解這裡列出的功能,請點選提供的連結,或前往 ChromeStatus.com 查看清單。Chrome 140 版於 2025 年 8 月 6 日推出 Beta 版。如要下載最新版 Chrome,請前往官方網站 (電腦版) 或 Google Play 商店 (Android 版)。

CSS 和 UI

CSS 型別算術

使用型別算術,您可以在 CSS 中編寫 calc(10em / 1px) 或 calc(20% / 0.5em * 1px) 等運算式。舉例來說,這在字體排版中很有用,因為可將型別值轉換為無型別值,並重複用於接受數字的屬性。另一個用途是將無單位的值乘以其他型別。例如,您可以從像素轉換為角度。

scroll-target-group 屬性

scroll-target-group 屬性會指定元素是否為捲動標記群組容器。此項目接受下列其中一個值:

  • 「none」:元素不會建立捲動標記群組容器。
  • 「auto」:元素會建立捲動標記群組容器,形成捲動標記群組,其中包含所有捲動標記元素,而這是最接近的祖先捲動標記群組容器。

建立捲動標記群組容器後,容器內任何含有片段 ID 的錨點 HTML 元素,都會成為 ::scroll-marker 虛擬元素的 HTML 等效項目。目前在檢視畫面中的捲動目標錨點元素,可以使用 :target-current 虛擬類別設定樣式。

在 content 屬性的替代文字中啟用 counter() 和 counters()

這項功能可讓您在 content 屬性的替代文字中使用 counter() 和 counters()。提供更有意義的資訊,提升無障礙功能。

檢視轉場效果虛擬元素會繼承更多動畫屬性

檢視區塊轉場效果虛擬樹狀結構現在會繼承多項動畫屬性:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

啟用巢狀檢視區塊轉換

這項功能可讓檢視區塊轉場效果產生巢狀虛擬元素樹狀結構,而非平面結構。這樣一來,檢視區塊轉場效果就會更貼近原始元素和視覺意圖。可啟用剪輯、巢狀 3D 轉換,並正確套用不透明度、遮罩和濾鏡等效果。

從根層級傳播檢視區塊 overscroll-behavior

這項變更會從根目錄 (而非主體) 傳播 overscroll-behavior。CSS 工作群組已決定不將屬性從 <body> 傳播至檢視區塊。而是從根 (<html>) 元素傳播可視區域的屬性。因此,overscroll-behavior 應從根元素傳播。不過,Chrome 長期以來都有一個問題:它會從 <body> 而非根目錄傳播 overscroll-behavior。這項行為無法與其他瀏覽器互通。這項變更可讓 Chrome 遵守規格,並與其他實作項目互通。

ScrollIntoView 容器選項

開發人員可以透過 ScrollIntoViewOptions 容器選項執行 scrollIntoView 作業,只捲動最接近的祖先捲動容器。舉例來說,下列程式碼片段只會捲動 target 的捲動容器,將 target 帶入檢視區塊,但不會將所有捲動容器捲動至檢視區塊:

target.scrollIntoView({container: 'nearest'});

新增 CSS caret-animation 屬性

Chromium 支援 caret-color 屬性的動畫效果。不過,如果加上動畫效果,插入號的預設閃爍行為會干擾動畫。

CSS caret-animation 屬性有兩個可能的值:auto 和 manual。 auto 代表瀏覽器預設值 (閃爍),manual 則代表開發人員控制插入點動畫。此外,如果使用者對閃爍的視覺效果感到不適或有不良反應,可以透過使用者樣式表停用閃爍效果。

highlightsFromPoint API

開發人員可透過 highlightsFromPoint API 與自訂精選片段互動。這項功能會偵測文件特定時間點的重點。對於多個醒目顯示項目可能重疊或存在於陰影 DOM 中的複雜網頁功能,這項互動功能非常實用。這項 API 提供精確的點式重點偵測功能,可協助開發人員更有效地管理與自訂重點的動態互動。舉例來說,開發人員可以回應使用者在醒目顯示區域的點擊或懸停事件,觸發自訂工具提示、內容選單或其他互動式功能。

變更檢視區塊轉場效果完成的 Promise 時間

目前完成的 Promise 時間發生在算繪生命週期步驟中。也就是說,因 promise 解析而執行的程式碼,會在產生移除檢視區塊轉場的視覺影格後執行。如果指令碼移動樣式來保留視覺上相似的狀態,這可能會導致動畫結尾閃爍。這項變更會將 ViewTransition 清理步驟移至生命週期完成後非同步執行,藉此解決問題。

新增 ToggleEvent 來源屬性

ToggleEvent 的 source 屬性包含觸發 ToggleEvent 觸發的元素 (如適用)。舉例來說,如果使用者點選 <button> 元素,且該元素設有 popovertarget 或 commandfor 屬性,可開啟快顯視窗,則在快顯視窗上觸發的 ToggleEvent 會將來源屬性設為叫用 <button>。

防止 SVG foreignObject 汙染 Blob 網址的畫布

所有瀏覽器長期以來都支援在 HTML Canvas drawImage 作業中使用 <img> 元素和 SVG 來源。不過,各平台上的畫布汙染行為有所不同。當 SVG 來源包含 foreignObject 標記,且以 HTTP URI 參照時,所有瀏覽器都會汙染畫布。透過資料 URI 參照相同 SVG 時,所有瀏覽器都不會汙染畫布。不過,使用 Blob URI 時,Chromium (這項變更前) 和 WebKit 都會汙染畫布,但 Gecko 不會。這項功能推出後,Chromium 的行為會與 Gecko 相同,因此可在 canvas drawImage 呼叫中使用更多 SVG 內容,且不會造成汙染。

在 @font-face rule 中支援 font-variation-settings 描述元

開發人員可以使用個別元素的 font-variation-settings 屬性,透過 CSS 調整字體的粗細、寬度、傾斜度和其他軸。不過,採用 Chromium 的瀏覽器不支援 @font-face 宣告中的這項屬性。這項功能支援 CSS 字型第 4 級中定義的 font-variation-settings 字串型語法。根據規格,系統會忽略無效或無法辨識的功能標記。系統不支援二進位或非標準表單。可變字型在效能和排版彈性方面都表現出色,因此越來越受歡迎。在 Chromium 中新增對這個描述元的支援,可強化控制功能、減少重複作業,並支援更具延展性的現代網頁排版方法。

網站 API

將 Uint8Array 轉換為 base64 和十六進位,以及從 base64 和十六進位轉換為 Uint8Array

Base64 是以 ASCII 表示任意二進位資料的常見方式。JavaScript 有 Uint8Arrays,適用於二進位資料。不過,這個 API 缺少內建機制,無法將資料編碼為 base64,也無法接收 base64 資料並產生對應的 Uint8Array。這項功能新增了在十六進位字串和 Uint8Arrays 之間轉換的功能和方法。

使用「ReadableStreamBYOBReader」min選項

這項功能會在現有的 ReadableStreamBYOBReader.read(view) 方法中加入 min 選項。這個方法已接受 ArrayBufferView,可從中讀取資料,但目前無法保證讀取作業解決前寫入的元素數量。指定 min 值後,系統會要求串流等待至少這麼多元素可用,才會解決讀取作業。這項改善措施可解決目前的問題,也就是讀取作業可能解析的元素數量少於檢視畫面可容納的數量。

在某些情況下,伺服器端必須區分伺服器設定的 Cookie 和用戶端設定的 Cookie。其中一個案例是伺服器通常一律會設定的 Cookie。不過,非預期的程式碼 (例如 XSS 攻擊、惡意擴充功能或來自混淆開發人員的提交) 可能會在用戶端設定這些標記。本提案新增的信號可供伺服器做出這類區別。具體來說,它會定義 __Http 和 __HostHttp 前置字元,確保系統不會使用指令碼在用戶端設定 Cookie。

區域網路存取權限制

Chrome 140 限制了向使用者區域網路發送要求的功能,現在必須透過權限提示取得同意。無論是從公開網站發送到本機 IP 位址或回送位址,還是從本機網站 (例如內部網路) 發送到回送位址,這些要求都屬於區域網路要求。規定網站必須取得權限才能執行這類要求,可以降低路由器等區域網路裝置面臨跨網站要求偽造攻擊的風險。也能減少網站藉此收集使用者區域網路數位指紋的機會。這項權限僅適用於安全情境。一旦授予權限,系統會一併放寬區域網路要求的複合型內容封鎖限制,因為許多區域網路裝置因故無法取得受公開信任的 TLS 憑證。

詳情請參閱「區域網路存取權 (LNA) 的新權限提示」。

允許 SharedWorker 指令碼繼承 blob 指令碼網址的控制器

規格指出,worker 應繼承 blob 網址的控制器。不過,現有程式碼只允許專屬工作者繼承控制器,共用工作者則不會。這項修正可讓 Chrome 的行為符合規格。這項功能由 SharedWorkerBlobURLFixEnabled 企業政策控管。

新增「ServiceWorkerStaticRouterTimingInfo」

這項功能會新增 ServiceWorker 靜態轉送 API 的時間資訊,並在導覽時間 API 和資源時間 API 中公開,供開發人員使用。ServiceWorker 會提供時間資訊,標示特定時間點。

這項功能會新增兩項與靜態路徑 API 相關的計時資訊:

  • RouterEvaluationStart:開始比對要求與已註冊路由器規則的時間。
  • CacheLookupStart:如果來源是 "cache",開始查閱快取儲存空間的時間。

此外,這項功能還會新增兩項路由器來源資訊:相符的路由器來源和最終路由器來源。

在 Android 上啟用網路驗證條件式建立 (未發布)

隔離網頁應用程式

介紹 Controlled Frame API

這項功能新增了 Controlled Frame API,僅適用於隔離網頁應用程式 (IWA)。與其他平台上的同名 API 類似,Controlled Frame 可嵌入所有內容,包括無法嵌入 <iframe> 的第三方內容。此外,您也可以透過一系列 API 方法和事件,控制嵌入的內容。如要進一步瞭解隔離網頁應用程式,請參閱隔離網頁應用程式說明。

新的來源試用

在 Chrome 140 中,您可以選擇加入下列新的原始碼試用計畫。

新增「clipboardchange」活動

每當網頁應用程式或其他系統應用程式變更系統剪貼簿內容時,就會觸發 clipboardchange 事件。這樣一來,遠端桌面用戶端等網路應用程式就能與系統剪貼簿保持同步。這項功能可有效取代 JavaScript 輪詢剪貼簿變更的機制。

啟用來電通知

這項功能擴充了 Notifications API,讓已安裝的 PWA 可以傳送來電通知,也就是包含通話樣式按鈕和鈴聲的通知。這項擴充功能可讓使用者更輕鬆地辨識及接聽通話通知,協助 VoIP 網路應用程式打造更吸引人的體驗。此外,如果應用程式同時有原生和網頁實作,這項功能有助於彌合兩者之間的落差。

介紹當機報告鍵值 API

這項功能會推出新的鍵/值 API (暫稱 window.crashReport),並以每個文件的對應項為後盾,保存附加至當機報告的資料。

如果網站發生任何轉譯器程序當機情形,系統會將這個 API 後端對應中的資料傳送至 CrashReportBody。開發人員可藉此偵錯,找出應用程式中可能導致特定當機問題的狀態。

淘汰和移除

這個版本的 Chrome 會淘汰及移除下列項目。 如要查看計畫淘汰、目前淘汰和先前移除的項目清單,請前往 ChromeStatus.com。

這個版本的 Chrome 會淘汰一項功能。

針對部分元素內的「<h1>」,不再支援特殊字型大小規則

HTML 規格列出 <h1> 標記巢狀結構位於 <article>、<aside>、<nav> 或 <section> 元素內時的特殊規則。

這些特殊規則會導致無障礙問題,因此已淘汰。也就是說,這類元素會以視覺方式縮小巢狀 <h1> 的字型大小,使其看起來像 <h2>,但無障礙樹狀結構不會反映這項視覺變化。