Chrome 142 Beta 版

發布日期:2025 年 10 月 1 日

除非另有說明,否則這些變更適用於 Android、ChromeOS、Linux、macOS 和 Windows 的 Chrome 142 Beta 版。如要進一步瞭解這些功能,請參閱提供的連結或 ChromeStatus.com。如要下載 Chrome 142 Beta 版,請前往 Google.com (適用於電腦) 或 Google Play 商店 (適用於 Android)。

CSS 和 UI

:target-before:target-after 虛擬類別

這些虛擬類別會比對同一捲動標記群組中,位於有效標記 (符合 :target-current) 前後的捲動標記,比對依據為扁平樹狀結構順序:

  • :target-before:比對群組中平面樹狀結構順序位於有效標記之前的所有捲動標記。
  • :target-after:比對群組中平面樹狀結構順序中,所有位於有效標記之後的捲動標記。

::view-transition 元素的絕對定位

檢視區塊轉換會使用元素的虛擬子樹狀結構,而 ::view-transition 是該轉換的根。先前,::view-transition 元素指定為 position: fixed。CSS 工作群組已決定進行這項變更,因此 Chrome 現在會反映這項異動。position: absolute

這項變更應該不會造成明顯影響,因為無論是絕對或固定位置,這個元素的包含區塊都會維持快照包含區塊。唯一明顯的差異在於 getComputedStyle

文件上的 activeViewTransition 屬性

開發人員可透過 View Transitions API,在不同狀態之間啟動視覺轉換。主要 SPA 進入點為 startViewTransition(),會傳回轉場效果物件。這個物件包含多項 Promise 和功能,可追蹤轉場效果進度,並讓您操控轉場效果,例如略過轉場效果或修改其類型。

從 Chrome 142 開始,開發人員不再需要儲存這個物件。document.activeViewTransition 屬性代表這個物件,如果沒有進行中的轉場效果,則為 null

這也適用於 MPA 轉換,其中物件只能透過 pageswappagereveal 事件取得。在這項更新中,document.activeViewTransition 會在轉場期間設為這個物件。

樣式容器查詢和 if() 的範圍語法

Chrome 新增了範圍語法支援,可強化 CSS 樣式查詢和 if() 函式。

這項功能可將樣式查詢擴展至精確值比對以外的範圍 (例如 style(--theme: dark))。開發人員可以使用比較運算子 (例如 ><) 比較自訂屬性、常值 (例如 10 像素或 25%),以及來自替代函式 (例如 attr()env()) 的值。如要進行有效比較,兩側都必須解析為相同的資料類型。僅限下列數值型別:<length><number><percentage><angle><time><frequency><resolution>

範例:

比較自訂屬性和字面長度:

@container style(--inner-padding > 1em) {
  .card {
    border: 2px solid;
  }
}

比較兩個常值

@container style(1em < 20px) {
  /* ... */
}

if() 中使用樣式範圍:

.item-grid {
  background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}

興趣叫用端 (interestfor 屬性)

Chrome 會將 interestfor 屬性新增至 <button><a> 元素。這項屬性會為元素新增「興趣」行為。當使用者「對元素感興趣」時,系統會在目標元素上觸發動作,例如顯示彈出式視窗。使用者代理程式會偵測使用者「對元素感興趣」的時機,例如將指標懸停在元素上、按下鍵盤上的特殊快速鍵,或長按觸控螢幕上的元素。當顯示或失去興趣時,目標會觸發 InterestEvent,其中包含快顯視窗的預設動作,例如顯示和隱藏快顯視窗。

font-language-override 屬性

Chrome 開始支援 font-language-override CSS 屬性。開發人員可直接在 CSS 中指定四個字元的語言代碼,藉此覆寫用於 OpenType 字元替代的系統語言。

可精細控管排版,特別適合多語言內容或含有特定語言字元變體的字型。

SVG <a> 元素中的 download 屬性

Chrome 在 SVGAElement 介面上導入 download 屬性的支援功能,與 SVG 2 規格保持一致。作者可使用 download 屬性指定下載 SVG 超連結的目標,而非前往該目標。這項做法與 HTMLAnchorElement 中已支援的行為一致。這項功能可促進主要瀏覽器之間的互通性,確保 HTML 和 SVG <a> 元素之間的行為一致,並提升開發人員體驗和使用者期望。

特定元素算繪模式的行動版和電腦版同位

使用 sizemultiple 屬性時,<select> 元素可轉譯為網頁內清單方塊或含有彈出式視窗的按鈕。不過,這些模式在行動版和電腦版 Chrome 的適用情形並不一致。行動裝置無法顯示網頁內清單方塊,如果存在 multiple 屬性,桌機也無法顯示含有彈出式視窗的按鈕。

這項更新會在行動裝置上新增清單方塊,在電腦上新增多重選取彈出式視窗,並確保使用 sizemultiple 屬性加入的同意聲明,在行動裝置和電腦上會產生相同的顯示模式。變更內容摘要如下:

  • 如果 size 屬性的值大於 1,系統一律會使用網頁內算繪。行動裝置先前會忽略這項設定。
  • 如果設定 multiple 屬性時未提供 size 屬性,系統會使用網頁內轉譯。行動裝置先前使用彈出式視窗,而非網頁內清單方塊。
  • 使用 size=1 設定 multiple 屬性時,系統會使用彈出式視窗。先前電腦裝置使用的是頁內清單方塊。

在同源的轉譯器啟動導覽中,保留使用者啟用狀態

網頁導向其他同源網頁後,Chrome 會保留黏性使用者啟動狀態。由於導覽後網頁缺少使用者啟用功能,因此無法支援部分用途,例如在自動焦點上顯示虛擬鍵盤。這項限制阻礙了想透過 SPA 建構 MPA 的開發人員。

這不包括瀏覽器發起導覽要求 (重新載入、瀏覽記錄、在網址列中輸入網址等)。

網站 API

WebGPU:primitive_index 功能

WebGPU 新增了選用功能,可公開新的 WGSL 著色器內建函式 primitive_index。在支援的硬體上,這項功能會為片段著色器提供每個圖元的索引,類似於 vertex_indexinstance_index 內建函式。原始索引適用於進階圖形技術,例如虛擬化幾何。

WebGPU:紋理格式第 1 級和第 2 級

透過算繪附件、混合、多重取樣、解析和 storage_binding 等功能,擴充 GPU 紋理格式支援。

適用於 insertFromPasteinsertFromDropinsertReplacementText 輸入事件的 DataTransfer 屬性

在輸入事件中填入 dataTransfer 屬性,並將 inputType 值設為 insertFromPasteinsertFromDropinsertReplacementText,以便在 contenteditable 元素中進行編輯作業時,存取剪貼簿和拖曳資料。

dataTransfer 物件包含 beforeinput 事件期間提供的相同資料。

這項功能僅適用於 contenteditable 元素。如果是表單控制項 ((textareainput),行為則維持不變。

這項屬性可讓 Chrome 與 Safari 和 Firefox 互通。

媒體工作階段:在enterpictureinpicture動作詳細資料中新增原因

enterPictureInPictureReason 新增至傳送至 Media Session API 中 enterpictureinpicture 動作的 MediaSessionActionDetails。開發人員可藉此區分enterpictureinpicture使用者明確觸發的動作 (例如來自使用者代理程式中的按鈕),以及enterpictureinpicture使用者代理程式因內容遭到遮蔽而自動觸發的動作。

Web Speech API 內容比對

這項更新會在 Web Speech API 中加入辨識片語清單,讓網站支援語音辨識的情境偏誤。

開發人員可以提供一組片語並更新,讓語音辨識模型偏好這些片語。這有助於提升特定領域和個人化語音辨識的準確度和關聯性。

針對 JSON 模組進行更嚴格的 *+json MIME 權杖驗證

如果 JSON 模組指令碼回應的 MIME 類型含有非 HTTP 權杖程式碼點 (例如空格),且與 *+json 相符,則系統會拒絕這類回應。這符合 MIME 嗅探規格和其他引擎。這是 Interop2025 模組的重點領域之一。

FedCM - 支援在 UI 中顯示第三方 iframe 來源

在 Chrome 142 之前,FedCM 一律會在 UI 中顯示頂層網站。

如果 iframe 在概念上屬於第一方 (例如 foo.com 可能有 iframe foostatic.com,但對使用者沒有意義),這種做法就非常合適。

但如果 iframe 實際上是第三方,最好在使用者介面中顯示 iframe 來源,讓使用者進一步瞭解要與誰分享憑證。舉例來說,相片編輯器可能會嵌入書籍發布網頁應用程式,並允許使用者存取先前透過相片編輯器儲存的檔案。這項功能現已推出。

Origin-keyed 程序隔離功能

將程序隔離政策從鎖定程序至網站 (例如 example.com),改為鎖定至特定來源 (例如 foo.example.com)。

為進一步提升安全性,Chrome 將改用更精細的程序隔離模型,也就是「來源隔離」。Chrome 採用「網站隔離」功能,將同一網站的不同來源 (例如 a.example.comb.example.com) 分組到單一轉譯器程序中。

有了來源隔離功能,每個來源 (例如 https://foo.example.com) 都會隔離在各自的算繪程序中。這項功能會根據網頁的基本來源式安全模型調整程序界線,藉此強化 Chrome 的安全架構,進一步防範網站內的潛在安全漏洞。

互通性 pointerrawupdate 事件僅在安全環境中公開

PointerEvents 規格於 2020 年將 pointerrawupdate 限制為安全情境,因此不安全情境會隱藏事件觸發和全域事件監聽器。更新後,Chrome 將符合最新規格,並可與其他主要瀏覽器互通。

進行中的來源試用

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

裝置繫結工作階段憑證

網站可透過這項功能,將工作階段安全地繫結至單一裝置。

伺服器可藉此將工作階段安全繫結至裝置。伺服器要求時,瀏覽器會定期更新工作階段,並提供私密金鑰擁有權證明。

每個頂層網站的 TCP 通訊端集區

這項實驗會評估將每個設定檔的 TCP Socket 集區大小從 256 (預設值) 變更為 513,同時新增每個頂層網站 256 的上限 (確保兩個分頁無法耗盡集區) 所造成的影響。我們研究過將每個設定檔的上限提高至 512 個的可行性,結果顯示不會產生負面影響。每個頂層網站的上限為 256 個,與每個設定檔的預設上限相同,因此不會對成效造成負面影響。WebSocket 集區和一般 (HTTP) Socket 集區會分別受到這些限制。

如果沒有負面影響,就會直接啟動這項實驗。