Chrome 139 Beta 版

發布日期:2025 年 6 月 25 日

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

CSS

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

短路 var()attr()

如果沒有採用備援,var()attr() 函式會評估,而不會在該備援中尋找週期。下列 CSS 可正常運作,因為 --green--blue 存在。

--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));

CSS caret-animation 屬性

Chrome 已經支援 caret-color 屬性的動畫,但當動畫化時,插入號的預設閃爍行為會干擾動畫。CSS caret-animation 屬性有兩種可能的值:automanual,其中 auto 代表瀏覽器預設值 (閃爍),manual 則代表網頁開發人員控制插入號動畫。使用者也可以透過使用者樣式表停用閃爍效果。

圓角造型

指定邊角形狀或曲度,即可在現有 border-radius 上啟用邊角樣式。您可以建立圓角正方形、凹口和圓弧等形狀,並在這些形狀之間製作動畫。詳情請參閱 Amit Sheen 的這篇文章

切換至初始轉換值時,繼續執行轉換。

轉換相關屬性變更時,只會影響新啟動的轉換。也就是說,如果您變更轉換屬性,除非您也變更具有有效轉換動畫的屬性,否則這些轉換動畫會繼續使用先前指定的持續時間、緩和效果等。當轉換屬性設為「none」時,Blink 會錯誤地取消轉換,即使您只變更轉換持續時間,也不會取消轉換。這項功能可讓 blink 與 webkit 和 gecko 保持一致,讓有效轉換繼續執行,除非屬性值變更並觸發新的轉換更新。

CSS 自訂函式

自訂函式與自訂屬性類似,但自訂函式會根據其他自訂屬性、參數和條件式傳回值,而不是傳回單一固定值。

@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}

支援將 widthheight 做為巢狀 <svg> 元素上的呈現屬性

支援透過 SVG 標記和 CSS,將 widthheight 套用為巢狀 <svg> 元素上的呈現屬性。這種雙重做法可提供更大的彈性,讓您在複雜的設計中,更有效率地管理及設定 SVG 元素的樣式。

網站 API

網頁應用程式資訊清單:指定更新資格,圖示網址為 Cache-Control: immutable

在資訊清單規格中指定更新資格演算法。這可讓更新程序更具決定性及可預測性,開發人員能進一步控管更新是否 (以及何時) 應套用至現有安裝項目,並移除使用者代理程式目前需要實作的「更新檢查節流」,避免浪費網路資源。

WebXR 深度感應效能提升

公開多種新機制,可自訂 WebXR 工作階段中的深度感應功能行為,目標是提升深度緩衝區的生成或使用效能。公開的主要機制包括:要求原始或平滑深度緩衝區、要求執行階段停止或繼續提供深度緩衝區,以及公開與使用者檢視畫面不完全一致的深度緩衝區,讓使用者代理程式不必在每個影格執行不必要的重新投影。

允許在 JavaScript DOM API 中使用更多字元

HTML 剖析器一向 (或長期以來) 允許元素和屬性使用各種有效字元和名稱,但建立相同元素和屬性的 JavaScript DOM API 較為嚴格,與剖析器不符。這項變更會放寬 JavaScript DOM API 的驗證,以符合 HTML 剖析器。

request-close 叫用者指令

對話方塊元素可透過多種機制關閉,有時開發人員會希望能夠防止關閉。如要達成這個目標,對話方塊會觸發取消事件。原本只有在關閉要求 (例如按下 Esc 鍵) 時才會觸發此事件,但最近新增了 requestClose() JS 函式,也會觸發取消事件。request-close 指令可將這項新功能帶入宣告式呼叫端指令 API。

WebGPU:支援 BC 和 ASTC 壓縮格式的 3D 紋理

texture-compression-bc-sliced-3dtexture-compression-astc-sliced-3d WebGPU 功能分別新增了 BC 和 ASTC 壓縮格式的 3D 紋理支援。

安全付款確認:瀏覽器繫結金鑰

在安全付款確認聲明和憑證建立作業中,新增額外的密碼編譯簽章。對應的私密金鑰不會在裝置間同步。這有助於網頁開發人員滿足付款交易的裝置繫結要求。

安全付款確認:使用者體驗更新

更新 Android 版 Chrome 中 SPC 對話方塊的 UX 元素。除了 UX 呈現方式,還新增了下列項目:

  • 商家可提供與顯示付款相關的付款實體標誌清單 (選填)。
  • 視使用者是否要繼續交易 (不使用 SPC) 或取消交易,將不同的輸出狀態傳回給商家。
  • 在付款方式中新增付款詳細資料標籤欄位,讓文字顯示在兩行中。

WebGPU core-features-and-limits

core-features-and-limits 功能表示 WebGPU 配接器和裝置支援規格的核心功能和限制。

修正捲動錨定優先候選項目

目前,捲動錨定演算法會選取優先候選項目做為錨定目標 (如有)。優先候選項目目前是可編輯的焦點元素,以及網頁內搜尋的醒目顯示結果。如果聚焦的可編輯內容元素很大,且內容在螢幕外變更,可能會導致使用者體驗不佳 (游標會因此移位)。這項修正會變更演算法:不再選取優先候選項目做為錨點,而是將候選項目做為一般錨點選取演算法的範圍或根,選取螢幕上最深層的元素做為錨點。

支援 SVG <script> 元素的 async 屬性

SVG 2.0 中的 SVGScriptElement 介面會導入 async 屬性,與 HTMLScriptElement 類似。這個屬性可讓指令碼非同步執行,進而提升使用 SVG 的網路應用程式效能和回應速度。

裝置端 Web Speech API

這項功能為 Web Speech API 新增裝置端語音辨識支援,可確保網站不會將音訊或轉錄的語音傳送至第三方服務進行處理。網站可以查詢特定語言的裝置端語音辨識功能是否可用、提示使用者安裝裝置端語音辨識所需的資源,並視需要選擇裝置端或雲端語音辨識。

清除 window.name,以便切換瀏覽內容群組的跨網站瀏覽

目前,即使導覽會切換瀏覽環境群組,window.name 屬性的值仍會在整個分頁生命週期中保留,這可能會洩漏資訊,並可能做為追蹤向量。清除 window.name 屬性即可解決這個問題。如果瀏覽環境位於其他瀏覽環境群組中,透過名稱查詢瀏覽環境的功能就無法運作,因此名稱實際上並無用處,這項變更的風險應該不高。

企業政策:ClearWindowNameCrossSiteBrowsing (將於 Chrome 142 停止運作)。

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

新增 "scope_extensions" 網頁應用程式資訊清單欄位,讓網頁應用程式將範圍擴展至其他來源。

這樣一來,控管多個子網域和頂層網域的網站就能以單一網頁應用程式的形式呈現。您必須使用 .well-known/web-app-origin-association 設定檔,確認列出的來源與網頁應用程式的關聯。

偵測符合規格的 JSON MIME 類型

Chromium 現在會根據 WHATWG mimesniff 規格,將所有有效的 JSON MIME 類型視為 JSON。除了傳統的 application/jsontext/json 之外,這也包括子類型以 +json 結尾的任何 MIME 類型。這項變更可確保依賴 JSON 偵測的網頁 API 和功能,行為與網頁平台標準和其他瀏覽器一致。這項變更的主要動機是修正 JSON 模組匯入行為,因為先前有效的 JSON MIME 類型 (例如 text/html+jsonimage/svg+json) 無法載入為模組。

Private Aggregation API:匯總錯誤報告

使用 Private Aggregation API 時,可能會遇到各種錯誤情況。舉例來說,隱私預算可能用盡,導致無法再提供直方圖。開發人員可透過這項功能註冊直方圖貢獻內容,只有在發生特定類型的錯誤時才會傳送。這項功能支援評估錯誤情況的頻率,並根據開發人員指定的相關維度 (例如已部署的程式碼版本) 分類評估結果。由於錯誤本身可能是跨網站資訊,因此我們無法直接向沒有第三方 Cookie 的使用者顯示錯誤。這項功能會透過匯總服務,重複使用現有的匯總和加入雜訊的報表管道。

當機回報 API:指定當機回報,只接收當機報告

這項功能可確保開發人員只收到當機報告,方法是指定名為 crash-reporting 的端點。根據預設,當機報告會傳送至 default 端點,該端點除了當機報告外,還會接收許多其他類型的報告。開發人員可以提供名為 crash-reporting 的知名端點專用網址,將當機報告導向該處,而非 default 端點。

減少 Accept-Language 標頭資訊中的指紋

減少 Accept-Language 標頭值字串在 HTTP 要求和 navigator.languages 中公開的資訊量。不必在每個 HTTP 要求中,透過 Accept-Language 標頭傳送使用者的完整偏好語言清單。我們現在會在 Accept-Language 標頭中傳送使用者最偏好的語言。為盡量降低相容性風險,我們在初始發布時會減少 HTTP 標頭中的資訊,並在日後減少相關的 navigator.languages JavaScript getter。

針對遭 CSP 封鎖的工作人員,觸發錯誤事件,而非擲回錯誤

如果遭到內容安全政策 (CSP) 封鎖,Chrome 目前會從 Worker 和 SharedWorker 的建構函式擲回 SecurityError。根據規格,系統必須在擷取作業中檢查 CSP,並以非同步方式觸發錯誤事件,而不是在指令碼執行 new Worker(url)new SharedWorker(url) 時擲回例外狀況。這項變更可讓 Chrome 規格符合規範:不會在建構函式期間擲回例外狀況,並以非同步方式觸發錯誤事件。

RTC 編碼影格的音訊層級

向網路公開使用 RTCPeerConnection 傳輸的編碼影格音訊層級,並使用 WebRTC 編碼轉換公開。

新的來源試用

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

提示 API

提示 API 專為與 AI 語言模型互動而設計,可使用文字、圖片和音訊輸入內容。支援各種用途,包括生成圖片說明、執行圖像搜尋、轉錄音訊、分類聲音事件、按照特定指示生成文字,以及從文字擷取資訊或洞察資料。這項功能支援結構化輸出,可確保回覆內容符合預先定義的格式 (通常以 JSON 結構定義表示),進而提升回覆內容的相容性,並與需要標準化輸出格式的下游應用程式順暢整合。Chrome 擴充功能也會公開這個 API。這項原始碼試用計畫適用於網頁曝光。

全格率轉譯封鎖屬性

我們建議在封鎖屬性中新增全格率的算繪封鎖權杖。如果轉譯器遭到全影格速率權杖封鎖,轉譯器就會以較低的影格速率運作,以便保留更多資源供載入使用。

WebGPU 相容模式

新增 WebGPU API 的輕微限制子集 (可選擇啟用),能夠執行較舊的圖形 API,例如 OpenGL 和 Direct3D11。只要選擇啟用這個模式並遵守相關限制,開發人員就能將 WebGPU 應用程式的觸及範圍擴展至許多舊型裝置,這些裝置沒有核心 WebGPU 要求的現代化明確圖形 API。如果是簡單的應用程式,您只需要在呼叫 requestAdapter 時指定 "compatibility" featureLevel,如果是較進階的應用程式,可能需要進行一些修改,才能配合模式的限制。由於相容模式是子集,因此產生的應用程式也是有效的 WebGPU Core 應用程式,即使在不支援相容模式的使用者代理程式上也能執行。

淘汰與移除

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

這個版本的 Chrome 移除了兩項功能。

移除 macOS 11 支援

Chrome 138 是最後一個支援 macOS 11 的版本。Chrome 139 版起不再支援 macOS 11,因為 Apple 已停止支援該版本。請務必使用支援的作業系統,確保安全無虞。在 macOS 11 的 Mac 上,Chrome 仍可運作,但會顯示警告資訊列,且不會再更新。如要更新 Chrome,使用者必須將電腦更新至支援的 macOS 版本。如要安裝 Chrome 139 以上版本,必須使用 macOS 12 以上版本。

移除 HTML 中自動偵測 ISO-2022-JP 字元集的功能

ISO-2022-JP 的字元集自動偵測功能有已知安全性問題。由於使用率極低,且 Safari 不支援自動偵測 ISO-2022-JP,Chrome 移除了這項支援功能,以解決安全性問題。