Chrome 136 Beta 版

發布日期:2025 年 4 月 3 日

除非另有說明,否則下列變更適用於 Android、ChromeOS、Linux、macOS 和 Windows 最新版 Chrome 測試版頻道。如要進一步瞭解這裡列出的功能,請點選提供的連結,或參閱 ChromeStatus.com 的清單。截至 2025 年 4 月 3 日,Chrome 136 為 Beta 版。你可以前往 Google.com 下載最新版電腦版應用程式,或前往 Android 版 Google Play 商店下載。

CSS 和 UI

此版本新增了六項 CSS 和 UI 功能。

CSS dynamic-range-limit 屬性

讓網頁限制 HDR 內容的亮度上限。

忽略草書字母間距

這項功能會加入邏輯,忽略草書字母的字母間距設定,即使開發人員依規格指定,也一樣忽略,以確保字母間距不會破壞字詞。

為避免使用者瀏覽記錄外洩,錨點元素只有在使用者曾從這個頂層網站和框架來源點選時,才會採用 :visited 樣式。

只要針對先前在這個網站和框架中點選過的連結設定樣式,許多為了取得 :visited 連結樣式資訊而開發的側邊通道攻擊,現在就已過時。不再向網站提供使用者的新資訊。

進一步瞭解這些改善措施如何保護 :visited 連結的隱私權

string attr() 類型重新命名為 raw-string

CSS 工作小組決定將 string attr() 類型替換為 raw-string

因此,Chrome 已變更 attr() 語法,attr(data-foo string) 現已改為 attr(data-foo raw-string)

類型不拘的 var() 備用機制

var() 函式的備用部分不會驗證所參照的自訂屬性類型。

未加上前置字元的 print-color-adjust

print-color-adjust 屬性可讓您調整列印網頁中的顏色。這與 Chrome 已支援的 -webkit-print-color-adjust 相同,但名稱已標準化。系統不會移除 -webkit 前置版本。

網站 API

AudioContext 中斷狀態

"interrupted" 狀態新增至 AudioContextState。這個新狀態可讓使用者代理程式在這些情況下暫停播放,並讓網頁應用程式做出適當回應。

Blob 網址分割:擷取/導覽

這是儲存空間分區功能的延伸,可根據儲存空間鍵 (頂層網站、影格來源和 has-cross-site-ancestor 布林值) 實作 Blob 網址存取分區,但頂層導覽會繼續只依據影格來源分區。這項行為類似於 Firefox 和 Safari 目前實作的行為,並將 Blob 網址用法與其他儲存空間 API 在儲存空間分割作業中使用的分割配置方案保持一致。

此外,現在會在轉譯器啟動的 Blob 網址頂層導覽中強制執行 noopener,其中對應網站與執行導覽的頂層網站為跨網站。這可讓 Chrome 與 Safari 的行為一致,相關規格也已更新,以反映這些變更。

無回應網頁的當機報告中的呼叫堆疊

當網頁因 JavaScript 程式碼執行無限迴圈或其他非常長的運算而無回應時,這項功能會擷取 JavaScript 呼叫堆疊。這有助於開發人員找出無回應的原因。當原因為無回應時,JavaScript 呼叫堆疊會包含在當機回報 API 中。

Captured Surface Control API

Captured Surface Control API 可讓網頁應用程式將輪詢事件轉送至已擷取的分頁,並讀取及變更已擷取分頁的縮放等級。

CapturedSurfaceResolution

在螢幕分享期間,公開擷取的途徑像素比例。這項功能可協助應用程式節省系統資源,或根據擷取表面的實體和邏輯解析度調整品質和頻寬取捨。

將點擊事件調度至已擷取的指標

如果在 pointerup 事件傳送時擷取指標,click 事件會傳送至擷取的目標,而非根據 UI 事件規格,傳送至 pointerdownpointerup 事件最近的共同祖系。對於未擷取的指標,click 目標會維持不變。

使用魔術註解提供明確的編譯提示

允許附加資訊,說明應在 JavaScript 檔案中急速剖析及編譯哪些函式。系統會將資訊編碼為魔術字元註解。

FedCM 更新:支援多個 IdP、移除「新增其他帳戶」功能的被動模式

這次更新後,FedCM 可以在同一個對話方塊中顯示多個身分識別資訊提供者。這可讓開發人員以便捷的方式,向使用者呈現所有支援的 ID 提供者。我們預計先處理所有供應者都位於同一個 get() 呼叫中的簡單案例。我們也會移除 FedCM 待命模式中「新增其他帳戶」功能的支援。這項功能可讓您在選擇器中,與其他 IdP 帳戶一併顯示「使用其他帳戶」按鈕。這項功能目前未使用,而我們在使用者體驗對話中發現,支援這項功能會導致流程變得更複雜,但並無太大助益。這項功能仍可在 FedCM 啟用模式下運作。

流暢的捲軸。

這項功能可讓 Windows 和 Linux 上的 Chrome 捲軸 (疊加和非疊加) 符合 Windows 11 的 Fluent 設計語言。在 Linux 和 Windows 中,系統預設會啟用非疊加式 Fluent 捲軸。這項變更也適用於 Linux,因為 Chrome 的 Linux 捲軸設計在過去一直與 Windows 版本保持一致。

WebRTC 支援 H265 (HEVC) 轉碼器

從 Chrome 136 開始,HEVC 將加入 VP8、H.264、VP9 和 AV1,成為 WebRTC 支援的轉碼器。您可以使用 MediaCapabilities API 查詢支援功能。

相較於 VP8 和 H.264 等舊一代轉碼器,這款新轉碼器的壓縮效率更高 (每比特率的品質更高),而且在過去十年中,硬體支援也非常強大。這表示電池續航力會延長,效能問題的風險也會降低。此外,如果沒有硬體 VP9 或 AV1 編碼器,在基礎硬體編碼器的效能方面,通常會改善視覺體驗。

MediaRecorder 的 H26x 轉碼器支援更新

MediaRecorder API 現在支援 HEVC 編碼,並引入 hvc1.* 轉碼器字串,以及新增支援 MP4 中可變解析度影片的新轉碼器 (hev1.*avc3.*)。Chrome 130 的 WebCodecs 中已新增 HEVC 平台編碼支援功能。後續行動是,我們已在 Chromium 的 MediaRecorder API 中新增支援功能。這個 API 現在支援 MP4 和 Matroska muxer 類型,並提供不同的 HEVC 和 H.264 mime 類型規格。只有在使用者的裝置和作業系統提供必要功能時,系統才會支援 HEVC 編碼。

Chrome Enterprise 中的 IP 位址記錄和報表

Chrome Enterprise 會收集及回報本機和遠端 IP 位址,並將這些 IP 位址傳送至安全調查記錄 (SIT),藉此強化安全監控和事件回應功能。此外,Chrome Enterprise 可讓管理員選擇使用 Chrome Enterprise 報表連接器,將 IP 位址傳送給第一方和第三方 SIEM 供應商。這項功能適用於 Chrome Enterprise Core 客戶。

將導覽啟動工具整合至 HTTP 快取分區鍵

Chrome 的 HTTP 快取鍵設定方案已更新,加入 is-cross-site-main-frame-navigation 布林值,以減輕涉及頂層導覽的跨網站洩漏攻擊。具體來說,這項功能可防止跨網站攻擊,攻擊者可透過這類攻擊發起對特定網頁的頂層導覽,然後前往該網頁已知會載入的資源,藉此從載入時間推斷機密資訊。這項異動還可改善隱私權,因為惡意網站無法透過導覽推斷使用者是否曾造訪特定網站。

CanvasTextDrawingStyles 的語言支援

<canvas> DOM 元素與所有 DOM 元素一樣,都會接受 lang 屬性,用於定義字型選取的語言專屬處理方式 (當字型具有特定語言代碼的字形時)。瀏覽器會遵循這項屬性。不過,建立 OffscreenCanvas 時無法設定語言代碼資訊,可能會導致在 OffscreenCanvas 產生與輸出時使用的畫布不同的轉譯結果。這項功能會將 lang IDL 屬性新增至 CanvasTextDrawingStyles,以便直接控制文字繪製和指標的語言。

iframe 的權限政策報告

推出名為「潛在的權限政策違規」的新違規類型,該類型只會查看權限政策 (包括僅供回報的政策) 和 iframe 中設定的 allow 屬性,以偵測強制執行的權限政策與傳播至 iframe 的權限之間的衝突。

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

針對沒有無限儲存空間權限的網站,從 StorageManager 的 Estimate API 回報可預測的儲存空間配額。您可以使用回報的儲存空間配額偵測使用者的瀏覽模式,因為無痕模式的可用儲存空間比一般模式少很多。

Private Aggregation API:匯總錯誤回報

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

RegExp.escape

RegExp.escape 是靜態方法,可接受字串並傳回已轉義的版本,該版本可用於規則運算式中的模式。例如:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

推測規則:代碼欄位

開發人員可將標記 field 新增至推測規則。這個選用欄位可用於追蹤推測規則的來源。例如,在中介伺服器上以不同方式處理這些要求。與推測相關的任何標記都會隨 Sec-Speculation-Tags 標頭傳送。

Storage Access API 的嚴格同源政策

調整 Storage Access API 語意,嚴格遵循相同來源政策。也就是說,在框架中使用 document.requestStorageAccess() 時,系統預設只會將 Cookie 附加至對 iframe 來源 (而非網站) 的請求。請注意,CookiesAllowedForUrls 政策或儲存空間存取標頭仍可用於解除跨網站 Cookie 的封鎖。

更新 ProgressEvent,以便為 loadedtotal 使用雙精度型別

ProgressEvent 具有 loadedtotal 屬性,用於表示進度,且其類型現在為 unsigned long long。有了這項功能,這兩個屬性的類型就會改為 double,讓開發人員更能控制值。舉例來說,開發人員現在可以建立 ProgressEvent,其中 total 為 1,loaded 則會從 0 逐漸增加到 1。如果省略 max 屬性,這會與 <progress> HTML 元素的預設行為一致。

getCharNumAtPositionisPointInFillisPointInStroke 使用 DOMPointInit

這項變更會讓 Chromium 程式碼符合最新的 W3C 規格,針對 getCharNumAtPositionisPointInFillisPointInStroke 使用 DOMPointInit 而非 SVGPointSVGGeometryElementSVGPathElement

網路驗證條件建立 (密碼金鑰升級)

WebAuthn 條件建立要求可讓網站將現有的密碼憑證升級為密碼金鑰。

WebGPU:GPUAdapterInfo isFallbackAdapter 屬性

GPUAdapterInfo isFallbackAdapter 布林值屬性會指出,轉接器是否有重大效能限制,以換取更廣泛的相容性、更可預測的行為或更佳的隱私權。請注意,並非所有系統都會提供備用轉接器。

新的來源試用

在 Chrome 136 中,您可以選擇採用下列新的來源試用

Audio Output Devices API:setDefaultSinkId()

這項功能會將 setDefaultSinkId() 新增至 MediaDevices,讓頂層影格變更子影格使用的預設音訊輸出裝置。

讓網頁應用程式瞭解雙模效能時間

網頁應用程式可能會受到網頁載入效能雙峰分布的影響,這是因為網頁應用程式無法控制的因素。例如:

  • 使用者代理程式首次啟動 (「冷啟動」情境) 時,必須執行許多耗費資源的初始化工作,這些工作會與系統上的資源競爭。
  • 瀏覽器擴充功能可能會影響網站效能。舉例來說,某些擴充功能會在您造訪的每個網頁上執行額外的程式碼,這可能會增加 CPU 用量,導致回應時間變慢。
  • 當機器忙於執行密集工作時,網頁載入速度可能會變慢。

在這些情況下,網路應用程式嘗試載入的內容會與系統上執行的其他工作競爭。因此,您很難判斷是網頁應用程式本身存在效能問題,還是因為外部因素造成。

PerformanceNavigationTiming 物件上的新 confidence 欄位可讓開發人員判斷導覽時間是否代表其網路應用程式。

裝置繫結工作階段憑證

網站將工作階段安全地繫結至單一裝置的方式。

讓伺服器擁有與裝置安全繫結的工作階段。瀏覽器會根據伺服器的要求,定期更新工作階段,並提供私密金鑰的證明。

更新畫布文字算繪實作項目

CanvasRenderingContext2D 和 OffscreenCanvasRenderingContext2D 的 measureText()fillText()strokeText() 已由新實作項目取代,以便更好地支援從右至左 (RTL) 文字和快取。這可能會影響效能和 BIDI 文字輸出,因此這個原始試驗可讓使用大量文字的畫布應用程式試用新導入方式,並回報可能遇到的任何問題。

淘汰和移除

這個版本的 Chrome 會淘汰及移除下列項目。請造訪 ChromeStatus.com,查看已計劃淘汰、目前淘汰和先前淘汰的功能清單。

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

淘汰 Intl Locale Info 的 getter

Intl Locale Info API 是第 3 階段的 ECMAScript TC39 提案,可透過公開語言代碼資訊 (例如星期資料 (一週中的第 1 天、週末開始日、週末結束日、第一週最少的一天) 和語言代碼中使用的文字方向小時週期) 來強化 Intl.Locale 物件。這項變更會移除在規格變更後已淘汰的部分 getter。

移除 HTMLFencedFrameElement.canLoadOpaqueURL()

canLoadOpaqueURL() 已在 2023 年由 navigator.canLoadAdAuctionFencedFrame() 取代,且自從將開發人員導向新 API 以來,呼叫 canLoadOpaqueURL() 就會導致淘汰控制台警告。將函式附加至 HTMLFencedFrameElement 並不合理,應附加至 navigator 物件 (其中包含其他受限影格和廣告競價方法)。