Chrome 138

穩定版發布日期:2025 年 6 月 24 日

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

CSS 和 UI

符號相關函式 abs()sign() 會計算與引數符號相關的各種函式。

abs(A) 函式包含一個計算 A,並傳回 A 的絕對值,與輸入的類型相同:如果 A 的數值為正數或 0⁺,則為 A;否則為 -1 * A。

sign(A) 函式包含一個計算 A,如果 A 的數值為負數,則傳回 -1;如果 A 的數值為正數,則傳回 +1;如果 A 的數值為 0⁺,則傳回 0⁺;如果 A 的數值為 0⁻,則傳回 0⁻。傳回型別為 <number>,與輸入計算的型別一致。

MDN 文件:abs() | 追蹤錯誤 #40253181 | ChromeStatus.com 項目 | 規格

插補進度函數標記:CSS progress() 函式

progress() 函式標記會傳回 <number> 值,代表兩個其他計算 (進度開始值和進度結束值) 之間某項計算的位置 (進度值)。progress() 函式是數學函式。

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

CSS sibling-index()sibling-count()

sibling-index()sibling-count() 函式可用於 CSS 屬性值中的整數,根據元素在同層級元素中的位置或同層級元素的總數,分別設定元素樣式。這些函式可直接做為整數值使用,但更有趣的是,它們可用於 calc() 運算式中。

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

CSS stretch 大小關鍵字

CSS 大小屬性 (例如 widthheight) 的關鍵字,可讓元素擴展至填滿所含區塊的可用空間。這與「100%」類似,但產生的尺寸會套用至元素的邊界方塊,而不是 box-sizing 所指出的方塊。使用這個關鍵字可讓元素保留邊界,同時盡可能放大。-webkit-fill-available 的無前置字元版本。

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

OS 層級字型縮放的 CSS env 變數

向 CSS 公開使用者偏好的字型比例。如果沒有這項功能,網頁就無法偵測使用者是否已透過作業系統偏好設定變更偏好的字型大小。這個 CSS 環境變數會反映使用者選擇的比例。

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

裝置

透過 Android 裝置上的藍牙使用 Web Serial

這項功能可讓網頁和網路應用程式透過 Android 裝置上的藍牙連線至序列埠。

Android 版 Chrome 現在支援透過藍牙 RFCOMM 使用 Web Serial API。其他平台上的現有企業政策 (DefaultSerialGuardSettingSerialAllowAllPortsForUrlsSerialAllowUsbDevicesForUrlsSerialAskForUrlsSerialBlockedForUrls) 會在 Android 的 future_on 狀態中啟用。啟用這項功能後,系統會啟用所有政策,但 SerialAllowUsbDevicesForUrls 除外。Android 提供有線序列埠的系統層級支援後,我們會在日後推出時啟用 SerialAllowUsbDevicesForUrls

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

Viewport Segments Enumeration API

開發人員可以透過 Viewport Segments API,調整網頁版面配置,以適用於摺疊式裝置。可視區域區隔會定義可視區域中邏輯上獨立區域的位置和尺寸。當視埠因一或多個硬體功能 (例如摺疊處或獨立螢幕之間的鉸鏈) 分割時,就會建立視埠區隔,這些區隔是視埠的區域,開發人員可將其視為邏輯上不同的區域。

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

JavaScript

QuotaExceededError 更新為 DOMException 衍生介面

以往,當網頁平台想告知您已超出配額時,會使用 DOMException,並將特定 name 屬性設為 QuotaExceededError。但這無法攜帶額外資訊。

這項提案建議從內建 DOMException 名稱清單中移除「QuotaExceededError」,並改為從內建 DOMException 清單建立 QuotaExceededError 類別名稱,以及新增選用屬性 quotarequested。我們建議將所有會擲回「QuotaExceededError」DOMException 的規格例項,升級為擲回 QuotaExceededError。目前,這類規格會將 quotarequested 屬性保留為預設值 null,但如果這些資料對用途有幫助 (且不會造成隱私權外洩等問題),最終可能會升級為納入這些資料。

ChromeStatus.com 項目 | 規格

網站 API

Translator API

JavaScript API,可為網頁提供語言翻譯功能。瀏覽器越來越常為使用者提供語言翻譯功能。這類翻譯功能對網頁開發人員也很有幫助。如果瀏覽器的內建翻譯功能無法提供協助,就更是如此。您可以透過企業政策 (GenAILocalFoundationalModelSettings) 停用基礎模型下載作業,這樣一來,這個 API 就無法使用。

MDN 文件 | 追蹤錯誤 #322229993 | ChromeStatus.com 項目 | 規格

Language Detector API

這項 JavaScript API 可偵測文字的語言,並提供信賴度。

語言偵測是翻譯的重要輔助功能。這項功能可與翻譯功能搭配使用,例如將使用者以不明語言輸入的內容翻譯成特定目標語言。現今的瀏覽器通常已具備語言偵測功能,我們希望透過 JavaScript API 將這項功能提供給網頁開發人員,以輔助翻譯 API。企業政策 (GenAILocalFoundationalModelSettings) 可用於停用基礎模型下載功能,這樣一來,這個 API 就無法使用。

MDN 文件 | ChromeStatus.com 項目 | 規格

Summarizer API

Summarizer API 是一種 JavaScript API,可產生輸入文字的摘要,並由 AI 語言模型提供支援。瀏覽器和作業系統越來越有可能需要存取語言模型。公開這個內建模型後,每個網站就不必下載自己的數十億位元組語言模型,也不必將輸入文字傳送至第三方 API。具體來說,摘要 API 會公開高階 API,與語言模型互動,以便摘要各種用途的輸入內容 (GitHub),且不依附於相關的特定語言模型。企業政策 (GenAILocalFoundationalModelSettings) 可用於停用基礎模型下載,這會導致這個 API 無法使用。

MDN 文件 | 追蹤錯誤 #351744634 | ChromeStatus.com 項目 | 規格

在屬性中逸出 <> (序列化時)

在序列化時,逸出屬性值中的 <>

這可降低突變 XSS 攻擊的風險。這類攻擊會在屬性值序列化並重新剖析後,將屬性值解讀為開始標記符記時發生。

ChromeStatus.com 項目 | 規格

當機報告 API:is_top_levelvisibility_state

這項功能會在傳送至當機報告預設回報端點的當機報告 API 主體中,新增 is_top_levelvisibility_state 字串欄位。

ChromeStatus.com 項目 | 規格

在重新訂閱時觸發 pushsubscriptionchange 事件

如果來源先前有推播訂閱,但因權限變更 (從允許改為拒絕/預設) 而遭撤銷,當系統重新授予通知權限時,請在 Service Worker 中觸發 pushsubscriptionchange 事件。

系統會觸發事件,並提供空白的舊訂閱項目和新訂閱項目。

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

多媒體

在 WebCodecs 中新增對影片影格方向中繼資料的支援

在 WebCodecs 中,向各種影片相關介面導入 rotation: intflip: bool 值,讓開發人員處理具有方向的影格來源 (例如 Android 攝影機、特定媒體)。

VideoFrame 介面可建立任意旋轉和翻轉的 VideoFrames,以及存取 VideoFrame 物件上這項資訊的存取子。

VideoDecoderConfig 物件會取得旋轉和翻轉欄位,這些欄位會自動在解碼的 VideoFrame 物件上發出。

VideoEncoder 類別會取得機制,用於將旋轉和翻轉資訊從 encode() 傳遞至 VideoDecoderConfig,並做為 EncodedVideoChunkMetadata 的一部分發出。如果使用不同方向的影格呼叫 encode(),系統會擲回非嚴重例外狀況。configure()可用於重設允許的方向。

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

成效

Clear-Site-Data 標頭中加入 prefetchCacheprerenderCache

Clear-Site-Data 標頭新增兩個值,可協助開發人員指定清除預先算繪和預先擷取快取:"prefetchCache""prerenderCache"

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

推測規則:target_hint 欄位

這項功能會擴充推測規則語法,讓開發人員指定 target_hint 欄位。

這個欄位會提供提示,指出預先算繪的網頁最終會啟用的目標可導覽位置。舉例來說,如果將 _blank 指定為提示,系統可以為 window.open() 開啟的可瀏覽項目啟用預先算繪的網頁。這個欄位不會影響預先擷取。

規格允許這個欄位接受任何有效字串做為可導覽的目標名稱或關鍵字,但本次發布僅支援 "_self""_blank" 字串。如未指定提示,系統會視為指定 "_self"

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

安全性

指令碼的完整性政策

開發人員可透過子資源完整性 (SRI) 確保載入的資產確實是他們要載入的資產。但目前開發人員無法確保所有指令碼都使用 SRI 進行驗證。

開發人員可透過 Integrity-Policy 標頭,聲明特定類型的每個資源都必須經過完整性檢查。如果嘗試載入這類型的資源,但沒有完整性中繼資料,系統就會嘗試失敗並觸發違規報告。

ChromeStatus.com 項目 | 規格

Service Worker

ServiceWorker 支援 Speculation Rules 預先擷取

這項功能可啟用 ServiceWorkers 控管的預先擷取,也就是將 speculation rules 預先擷取傳送到 ServiceWorker 控管的網址。先前,系統偵測到控制 Service Worker 時,會取消預先擷取作業,因此後續導向預先擷取目標的導覽作業會透過非預先擷取路徑提供服務。這項功能可讓預先擷取要求通過 Service Worker 的擷取處理常式,並將 Service Worker 攔截的回應快取在預先擷取快取中,因此後續導覽會由預先擷取快取提供。使用企業政策 PrefetchWithServiceWorkerEnabled 控制這項功能。

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

淘汰與移除

WebGPU:淘汰 GPUAdapter isFallbackAdapter 屬性

淘汰 WebGPU 中的 GPUAdapter isFallbackAdapter 布林屬性,因為這項屬性與 GPUAdapterInfo isFallbackAdapter 布林屬性重複。

由於任何瀏覽器都尚未實作備援轉接程式的支援功能,因此這項即將進行的移除作業只會造成細微的重大變更,導致 isFallbackAdapter 屬性一律傳回虛假值。

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

淘汰媒體來源擴充功能的非同步範圍移除作業

媒體來源標準很久以前就已變更,禁止定義涉及非同步範圍移除作業的模糊行為:

  • SourceBuffer.abort() 不再中止 SourceBuffer.remove() 作業。
  • 設定 MediaSource.duration 不再截斷目前緩衝的媒體。

現在這兩種情況都會擲回例外狀況。

Safari 和 Firefox 瀏覽器早已採用這項做法,Chromium 是最後一個仍維持舊版做法的瀏覽器。使用計數器顯示約有 0.001% 至 0.005% 的網頁載入次數受到已淘汰行為影響。如果網站發生這個問題,播放作業可能會中斷。

abort() 取消移除作業的使用量正在增加,因此建議您在出現更多不相容的使用情形前,先解決這項淘汰問題。

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