發布日期:2025 年 4 月 3 日
除非另有說明,否則下列變更適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。如要進一步瞭解這裡列出的功能,請點選提供的連結,或前往 ChromeStatus.com 查看清單。Chrome 136 版於 2025 年 4 月 3 日推出 Beta 版。如要下載最新版,請前往Google.com (電腦版) 或 Google Play 商店 (Android 版)。
CSS 和 UI
這個版本新增六項 CSS 和 UI 功能。
CSS dynamic-range-limit 屬性
讓網頁限制 HDR 內容的最高亮度。
忽略草書的字母間距
這項功能會新增邏輯,忽略草書的 letter-spacing 設定 (即使開發人員已根據規格指定),確保 letter-spacing 不會中斷字詞。
分割 :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。這個新狀態可讓 UA 在這些情況下暫停播放,並讓網頁應用程式適當回應。
Blob 網址分割:擷取/導覽
這是儲存空間分區的延續,可根據儲存空間金鑰 (頂層網站、頁框來源和 has-cross-site-ancestor 布林值) 實作 Blob 網址存取分區,但頂層導覽除外,這類導覽仍只會依頁框來源分區。這項行為與 Firefox 和 Safari 目前的實作方式類似,且 Blob URL 用法與其他儲存空間 API 所用的分割區配置一致,都是儲存空間分割區的一部分。
此外,如果對應網站與執行瀏覽的頂層網站屬於不同網站,系統現在會對轉譯器啟動的頂層瀏覽強制執行 noopener,以瀏覽 Blob 網址。這項異動可讓 Chrome 的行為與 Safari 類似,相關規格也已更新,反映這些異動。
無回應網頁的當機報告中的呼叫堆疊
如果 JavaScript 程式碼執行無限迴圈或其他非常耗時的運算,導致網頁沒有回應,這項功能就會擷取 JavaScript 呼叫堆疊。這有助於開發人員找出無回應的原因。 如果原因是不回應,JavaScript 呼叫堆疊會納入當機回報 API。
Captured Surface Control API
擷取的 Surface 控制項 API 可讓網頁應用程式將滾輪事件轉送至擷取的索引標籤,並讀取及變更擷取索引標籤的縮放等級。
CapturedSurfaceResolution
在分享螢幕時,顯示擷取畫面的像素比例。這項功能可協助應用程式節省系統資源,或根據擷取畫面的實體和邏輯解析度,調整品質和頻寬的取捨。
將點擊事件傳送至擷取的指標
如果在分派 pointerup 事件時擷取指標,系統會將 click 事件分派至擷取的目標,而非根據 UI 事件規格,分派至 pointerdown 和 pointerup 事件最近的共同祖先。對於未擷取的指標,click 目標維持不變。
使用魔法註解明確編譯提示
允許附加資訊,說明應在 JavaScript 檔案中搶先剖析及編譯哪些函式。這項資訊會編碼為魔法註解。
FedCM 更新:支援多個 IdP,並在被動模式中移除「新增其他帳戶」功能
這項更新推出後,FedCM 就能在同一個對話方塊中顯示多個身分識別資訊提供者。開發人員可透過這種方式,向使用者顯示所有支援的 ID 提供者。我們打算先處理簡單的案例,也就是所有供應商都在同一個 get() 呼叫中。我們也會在 FedCM 被動模式中移除「新增其他帳戶」功能。這項功能會在選擇器中,與其他 IdP 帳戶並列顯示「使用其他帳戶」按鈕。這項功能目前無人使用,且根據使用者體驗對話,我們認為支援這項功能會導致流程更加複雜,但好處不多。這項功能在 FedCM 啟用模式下仍可運作。
流暢的捲軸。
這項功能會更新 Windows 和 Linux 上的 Chrome 捲軸 (包括重疊和非重疊捲軸),使其符合 Windows 11 Fluent 設計語言。非疊加 Fluent 捲軸預設會在 Linux 和 Windows 中啟用。這項變更也適用於 Linux,因為 Chrome 的 Linux 捲軸設計向來與 Windows 上的設計一致。
WebRTC 支援 H265 (HEVC) 轉碼器
自 Chrome 136 起,HEVC 將加入 VP8、H.264、VP9 和 AV1,成為 WebRTC 支援的轉碼器。支援項目可使用 MediaCapabilities API 查詢。
相較於 VP8 和 H264 等舊版轉碼器,這個新轉碼器的壓縮效率更高 (每位元率的品質更高),且十多年來一直有強大的硬體支援。這表示電池續航力會延長,效能問題的風險也會降低。此外,如果沒有硬體 VP9 或 AV1 編碼器,通常會改善視覺體驗 (視基礎硬體編碼器的效能而定)。
MediaRecorder 的 H26x 轉碼器支援更新
MediaRecorder API 現在支援 HEVC 編碼,並導入 hvc1.* 編碼器字串,以及支援 MP4 中可變解析度影片的新編碼器 (hev1.* 和 avc3.*)。Chrome 130 的 WebCodecs 新增了 HEVC 平台編碼支援。後續,Chromium 已新增對 MediaRecorder API 的支援。API 現在支援 MP4 和 Matroska 多工器類型,並提供不同的 HEVC 和 H.264 MIME 類型規格。只有在使用者裝置和作業系統提供必要功能時,系統才會支援 HEVC 編碼。
Chrome Enterprise 中的 IP 位址記錄和報告
Chrome Enterprise 會收集並回報本機和遠端 IP 位址,然後將這些 IP 位址傳送至安全調查記錄 (SIT),藉此強化安全監控和事件應變功能。此外,Chrome Enterprise 也會允許管理員使用 Chrome Enterprise 報告連接器,選擇性地將 IP 位址傳送給第一方和第三方 SIEM 供應商。Chrome Enterprise 基本版客戶可使用這項功能。
將導覽啟動器併入 HTTP 快取分割區金鑰
Chrome 的 HTTP 快取鍵控配置已更新,現在會納入 is-cross-site-main-frame-navigation 布林值,以防範涉及頂層瀏覽的跨網站洩漏攻擊。具體來說,這項功能可防範跨網站攻擊,避免攻擊者啟動特定網頁的頂層導覽,然後導覽至網頁載入的已知資源,藉此從載入時間推斷機密資訊。這項變更也會防止惡意網站使用導覽功能,推斷使用者先前是否造訪過特定網站,進而提升隱私權。
「CanvasTextDrawingStyles」支援的語言
與所有 DOM 元素一樣,<canvas> 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 的 Strict Same Origin 政策
調整 Storage Access API 語意,嚴格遵守同源政策。也就是說,在框架中使用 document.requestStorageAccess() 時,系統預設只會將 Cookie 附加至 iframe 來源 (而非網站) 的請求。請注意,CookiesAllowedForUrls 政策或儲存空間存取標頭可能仍會用於解除封鎖跨網站 Cookie。
更新 ProgressEvent,為 loaded 和 total 使用雙精度浮點數型別
ProgressEvent 具有 loaded 和 total 屬性,可指出進度,且現在的類型為 unsigned long long。使用這項功能後,這兩個屬性的類型會改為 double,開發人員可以進一步控管值。舉例來說,開發人員現在可以建立 total 為 1 的 ProgressEvent,並讓 loaded 從 0 逐步增加至 1。如果省略 max 屬性,這項行為會與 <progress> HTML 元素的預設行為一致。
使用 DOMPointInit 進行 getCharNumAtPosition、isPointInFill、isPointInStroke
這項變更可讓 Chromium 程式碼與最新的 W3C 規格保持一致,以便在 getCharNumAtPosition、isPointInFill 和 isPointInStroke 中使用 DOMPointInit 處理 SVGGeometryElement 和 SVGPathElement 的 SVGPoint。
網路驗證條件式建立 (密碼金鑰升級)
網站可透過 WebAuthn 條件式建立要求,將現有的密碼憑證升級為密碼金鑰。
WebGPU:GPUAdapterInfo isFallbackAdapter 屬性
GPUAdapterInfo isFallbackAdapter 布林值屬性表示轉接器是否為了更廣泛的相容性、更可預測的行為或提升隱私權,而有顯著的效能限制。請注意,並非所有系統都有備用轉接頭。
新的來源試用
在 Chrome 136 中,您可以選擇加入下列新的來源試用。
音訊輸出裝置 API:setDefaultSinkId()
這項功能會在 MediaDevices 中新增 setDefaultSinkId(),讓頂層影格變更子影格使用的預設音訊輸出裝置。
讓網頁應用程式瞭解雙模式效能時間
網頁應用程式的網頁載入效能可能會出現雙峰分布,這是因為受到網頁應用程式無法控制的因素影響。例如:
- 使用者代理程式首次啟動時 (「冷啟動」情境),必須執行許多耗用資源的初始化工作,這些工作會爭用系統資源。
- 瀏覽器擴充功能可能會影響網站效能。舉例來說,部分擴充功能會在您造訪的每個網頁上執行額外程式碼,這可能會增加 CPU 使用率,導致回應時間變慢。
- 如果電腦忙於執行耗用大量資源的工作,網頁載入速度可能會變慢。
在這些情況下,網頁應用程式嘗試載入的內容會與系統上發生的其他工作競爭。因此難以偵測效能問題是出在網頁應用程式本身,還是外部因素。
PerformanceNavigationTiming 物件上的新 confidence 欄位可讓開發人員判斷導覽時間是否代表網頁應用程式。
裝置綁定工作階段憑證
網站可透過這項功能,將工作階段安全地繫結至單一裝置。
伺服器可透過這項功能,建立與裝置安全連結的工作階段。瀏覽器會根據伺服器要求,定期更新工作階段,並提供私密金鑰擁有權證明。
更新畫布文字算繪導入作業
CanvasRenderingContext2D 和 OffscreenCanvasRenderingContext2D 的 measureText()、fillText() 和 strokeText() 內部已替換為新的實作,可更妥善地支援 RTL 文字和快取。這可能會影響效能和 BIDI 文字輸出,因此這項來源試用功能可讓文字量大的畫布應用程式試用新實作方式,並回報可能遇到的任何問題。
淘汰與移除
這個版本的 Chrome 推出下列淘汰和移除項目。 如要查看計畫淘汰、目前淘汰和先前移除的項目清單,請前往 ChromeStatus.com。
這個版本的 Chrome 會淘汰兩項功能。
淘汰 Intl Locale Info 的 Getter
Intl Locale Info API 是 ECMAScript TC39 第 3 階段提案,旨在公開地區設定資訊 (例如一週資料,包括一週的第一天、週末開始日、週末結束日、第一週的最低天數),以及地區設定使用的文字方向時數週期,藉此強化 Intl.Locale 物件。這項變更會移除自發布以來,因規格變更而遭淘汰的部分 Getter。
移除 HTMLFencedFrameElement.canLoadOpaqueURL()。
canLoadOpaqueURL() 已於 2023 年由 navigator.canLoadAdAuctionFencedFrame() 取代,因此自此之後,呼叫 canLoadOpaqueURL() 會導致淘汰控制台警告,引導開發人員使用新的 API。將函式附加至 HTMLFencedFrameElement 並無意義,應附加至 navigator 物件 (其中包含其他圍欄頁框和廣告競價方法)。