Chrome 138 Beta 版

發布日期:2025 年 5 月 28 日

除非另有說明,否則下列變更適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。如要進一步瞭解這裡列出的功能,請點選提供的連結,或前往 ChromeStatus.com 查看清單。 2025 年 5 月 28 日,Chrome 138 版為 Beta 版。 你可以前往 Google.com 下載電腦版,或前往 Android 裝置的 Google Play 商店下載。

CSS 和 UI

這個版本新增六項 CSS 和 UI 功能。

CSS stretch 大小調整關鍵字

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

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

OS 層級字型比例的 CSS env 變數

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

CSS sibling-index()sibling-count()

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

li {
  animation-delay: calc(0.1s * sibling-index());
}

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

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

Viewport Segments Enumeration API

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

網站 API

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

在 WebCodecs 的各種影片相關介面中導入 rotation: intflip: bool 值,讓開發人員處理具有方向的影格來源 (例如 Android 攝影機和特定媒體)。VideoFrame 介面可建立任意旋轉和翻轉的 VideoFrame,並存取 VideoFrame 物件上的這項資訊。VideoDecoderConfig 物件會取得 rotationflip 欄位,這些欄位會自動在解碼的 VideoFrame 物件上發出。VideoEncoder 類別會取得機制,可將旋轉和翻轉資訊從 encode() 傳遞至 VideoDecoderConfig,並做為 EncodedVideoChunkMetadata 的一部分發出。如果使用不同方向的影格呼叫 encode(),系統會擲回非嚴重錯誤的例外狀況。configure() 方法可用於重設允許的螢幕方向。

當機報告 API:is_top_levelvisibility_state

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

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

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

指令碼完整性政策

開發人員可透過子資源完整性 (SRI) 確保載入的資產確實是他們要載入的資產。但目前開發人員無法確保所有指令碼都使用 SRI 驗證。開發人員可透過 Integrity-Policy 標頭,聲明特定類型的每個資源都必須經過完整性檢查。如果嘗試載入這類型的資源,但沒有完整性中繼資料,系統就會回報違規。

可預測的回報儲存空間配額

針對沒有無限儲存空間權限的網站,透過 StorageManager 的 Estimate API 回報可預測的儲存空間配額。由於無痕模式提供的儲存空間遠小於一般模式,因此您可以根據回報的儲存空間配額偵測使用者的瀏覽模式。

這項緩解措施會回報人工配額,等於用量 + min(10 GiB,磁碟空間四捨五入至最接近的 1 GiB),藉此防止系統在所有瀏覽模式中,使用 Storage API 偵測使用者的瀏覽模式。這項措施適用於儲存空間權限受限的網站。這項設定不會影響具備無限儲存空間權限的網站,強制執行的配額限制也不會受到影響。

pushsubscriptionchange 重新訂閱時的事件

如果來源先前有推送訂閱項目,但因權限變更 (從「已授予」改為「拒絕」/「預設」) 而遭撤銷,當使用者重新授予通知權限時,請在 Service Worker 中觸發 pushsubscriptionchange 事件。系統會觸發事件,並提供空白的 oldSubscriptionnewSubscription

推測規則:在 Clear-Site-Data 標頭中新增 prefetchCacheprerenderCache

Clear-Site-Data 標頭新增兩個值,可協助開發人員指定清除預先算繪和預先擷取快取:prefetchCacheprerenderCache。這些標頭可隨任何要求傳送,不一定要在文件要求中建立 (例如,可在加入購物車或登入/登出 API 呼叫回應中傳回,以清除狀態變更的推測)。

推測規則:target_hint 欄位

這項功能會擴充推測規則語法,讓開發人員指定 target_hint 欄位。這個欄位提供提示,指出預先算繪的頁面最終會啟用的目標可瀏覽位置。如果將 _blank 指定為提示,系統可以為 window.open() 開啟的可瀏覽頁面啟用預先算繪頁面。預先擷取功能不支援這個欄位。

Storage Access API 的 Strict Same Origin 政策

調整 Storage Access API 語意,嚴格遵守安全性方面的同源政策。也就是說,在框架中使用 document.requestStorageAccess() 時,系統預設只會將 Cookie 附加至 iframe 來源 (而非網站) 的要求。

Summarizer API

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

詳情請參閱「使用內建 AI 生成簡潔摘要」。

Language Detector API

這項 JavaScript API 可偵測特定文字使用的語言,並提供信賴度。語言偵測是翻譯的重要輔助功能,可與 Translator API 搭配使用。舉例來說,您可以接收使用者輸入內容 (語言不明),判斷其語言,然後翻譯成特定目標語言。雖然瀏覽器通常已具備語言偵測功能,但這項 API 可透過 JavaScript API 為網頁開發人員提供相同的功能,做為 Translation API 的補充。

您可以透過企業政策 (GenAILocalFoundationalModelSettings) 停用基礎模型的下載功能,這樣一來,這個 API 就無法使用。

詳情請參閱「使用內建 AI 偵測所用語言」。

Translator API

JavaScript API,可為網頁提供語言翻譯功能。雖然瀏覽器越來越常為使用者提供語言翻譯功能,但這類翻譯功能對網頁開發人員也很有用。如果瀏覽器的內建翻譯功能無法提供協助 (例如即時和互動式服務),就特別需要這項功能。企業政策 (GenAILocalFoundationalModelSettings) 可用於停用基礎模型下載作業,這樣一來,這個 API 就無法使用。

詳情請參閱「使用內建 AI 翻譯」。

網頁應用程式範圍擴充功能

新增 "scope_extensions" 網頁應用程式資訊清單欄位,讓網頁應用程式將範圍擴展至其他來源。這樣一來,控管多個子網域和頂層網域的網站就能以單一網頁應用程式的形式呈現。您必須使用 .well-known/web-app-origin-association 設定檔,確認列出的來源與網頁應用程式的關聯。

Android 裝置上的藍牙 Web Serial

這項功能可讓網頁和網頁應用程式透過 Android 裝置上的藍牙連線至序列埠。Android 版 Chrome 現在支援透過藍牙 RFCOMM 使用 Web Serial API。Android 裝置會啟用其他平台上的現有企業政策 (DefaultSerialGuardSettingSerialAllowAllPortsForUrlsSerialAllowUsbDevicesForUrlsSerialAskForUrlsSerialBlockedForUrls),並設為 future_on 狀態。啟用這項功能後,系統會啟用所有政策 (SerialAllowUsbDevicesForUrls 除外)。Android 提供有線序列埠的系統層級支援後,我們會在日後推出的版本中啟用 SerialAllowUsbDevicesForUrls

淘汰與移除

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

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

淘汰 Media Source 擴充功能的非同步範圍移除功能

媒體來源標準早已變更,禁止以模稜兩可的方式定義涉及非同步範圍移除作業的行為:

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

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

移除 SwiftShader 備用機制

系統已淘汰自動備用至由軟體算繪器 SwiftShader 支援的 WebGL,因此 WebGL 環境建立作業會失敗,不會備用至 SwiftShader。這麼做主要有兩個原因:

  1. 由於 JIT 程式碼會在 Chromium 的 GPU 程序中執行,因此 SwiftShader 具有高度安全風險。
  2. 從高效能 GPU 支援的 WebGL 回退至 CPU 支援的實作時,使用者體驗不佳。使用者無法控管這類行為,而且難以在錯誤報告中說明。

在淘汰期間,如果建立 WebGL 環境並以 SwiftShader 做為後端,Chrome 開發人員工具控制台就會顯示警告。通過 --enable-unsafe-swiftshader即可移除這則警告訊息。