Chrome 129 Beta 版

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

CSS

此版本新增了兩項 CSS 功能,並更新了三項功能。

CSS interpolate-size property 和 calc-size() 函式

在可使用動畫的情況下,CSS interpolate-size 屬性可讓網頁選擇使用 CSS 內在大小設定關鍵字 (例如 auto、min-content 和 fit-content) 的動畫和轉場效果。

CSS calc-size() 函式是類似 calc() 的 CSS 函式,但也支援針對單一支援的大小設定關鍵字執行運算。目前支援的大小關鍵字為 auto、min-content、max-content 和 fit-content。日後可能支援的其他尺寸關鍵字包括 stretch (目前支援前置 -webkit-fill-available) 和 contain。這個函式用於表示 interpolate-size 屬性允許的動畫中間的值。

將 CSS 錨點定位 inset-area 重新命名為 position-area

CSSWG 已決定將這個屬性從 inset-area 重新命名為 position-area。Chrome 129 會提供 position-area,inset-area 名稱會在日後的版本中移除。

CSS 錨點定位:未包裝的 inset-area()

直接在 position-try-fallbacks 中,將 inset-area() 函式替換為內嵌區域值。例如,使用 position-try-fallbacks:top,而不使用 position-try-fallbacks:inset-area(top)。

更新 CSS backdrop-filter 以使用鏡像 edgeMode

backdrop-filter CSS 屬性會將一或多個濾鏡套用至元素的背景。背景是位於元素後方的繪製內容。常見的濾鏡是模糊效果,可讓設計師建構「磨砂玻璃」對話方塊、影片重疊、半透明導覽標頭等。

這項功能最初的實作方式與一般模糊處理相同,但在元素邊緣以外取樣的做法,會導致邊緣的顏色流入。我們透過複製邊緣的像素,將規格變更為取樣背景邊緣外的像素。不過,這會導致內容進入背景邊緣時出現極度閃爍。最新規格變更會在取樣超出邊緣時鏡射背景,讓邊緣能順暢地逐步引入新色彩,而不會對單行顏色過度加重。

網站 API

WebRTC 資料管道中的 Blob 支援

實作 RTCDataChannel.send(Blob),onMessage 事件現在可以選擇使用 binaryType 屬性接收 Blob 類型的資料。

除了支援傳送字串和 ArrayBuffer 之外,您現在也可以選擇傳送 Blob,只要其大小低於 WebRTC 規格中所示的 SCTP 傳輸 maxMessageSize 即可。

將 binaryType 屬性設為 "blob" 後,onMessage 事件資料屬性會是 Blob 類型,而非目前支援的 ArrayBuffer。

Compute Pressure WebDriver 擴充功能指令

公開 WebDriver 指令,用於建立、移除及更新虛擬壓力來源的壓力來源樣本。這類壓力來源不依賴基礎硬體或作業系統支援,可用於測試。

Intl.DurationFormat

提供格式化時間長度的方法,例如支援多個語言代碼的「1 小時 40 分鐘 30 秒」。

Private Aggregation API:用戶端貢獻內容合併

修改 Private Aggregation API,將相同的桶和篩選 ID 與直方圖貢獻合併,再嵌入可匯總報表的加密酬載資料。

私人匯總功能會限制可在單一可匯總報表中嵌入的貢獻數量,並捨棄任何額外的貢獻。盡可能合併貢獻內容,我們就能在限制內獲得額外效益。請注意,如果忽略掉多餘的貢獻,合併這類貢獻對最終輸出內容 (例如摘要報表) 不應有任何影響。

scheduler.yield()

提供一種方法,可將控制權交給瀏覽器,用於分割長時間的工作。等待 scheduler.yield() 傳回的承諾會導致目前的工作產生,並在新的瀏覽器工作中繼續執行。這可用於改善因長時間工作造成的回應問題。系統會優先處理接續作業,以減輕現有替代方案的效能問題。

Web Authentication API:JSON 序列化方法

WebAuthn 的 PublicKeyCredential.toJSON()、parseCreationOptionsFromJSON() 和 parseRequestOptionsFromJSON() 方法可讓開發人員將 WebAuthn 回應序列化為 JSON 物件,或將 WebAuthn 要求物件從其 JSON 表示法反序列化。

WebGPU 擴大動態範圍 (HDR) 支援

將色調對應參數新增至 WebGPU 畫布設定,並新增 standard (目前的行為,將內容限制在螢幕的 SDR 範圍內) 做為預設值,以及 extended (不強制這項限制) 做為新行為。這可讓 WebGPU 內容使用顯示器的完整範圍。

正在進行的來源試用

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

FileSystemObserver 介面

FileSystemObserver 介面會通知網站檔案系統的變更。網站會觀察使用者本機裝置 (如 WICG/file-system-access 所述) 或 Bucket 檔案系統 (如 fs.spec.whatwg.org 所述) 中的檔案和目錄變更,並收到基本變更資訊通知,例如變更類型。

註冊 FileSystemObserver 來源試用版。

淘汰和移除

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

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

將 0.0.0.0 淘汰,以便使用私人網路存取權

在私人網路存取 (PNA) 功能全面推出前,Chrome 會封鎖對 IP 位址 0.0.0.0 的存取權。

根據 PNA 規格,Chrome 將淘汰從公開網站直接存取私人網路端點的功能。根據規格說明,在本機主機 (127.0.0.0/8) 上聽取的服務視為私人。您可以使用 IP 位址 0.0.0.0 存取 macOS 和 Linux 上在本機主機上偵聽的服務,藉此略過 Chrome 的 PNA 保護機制。

這也可能遭到濫用,用於針對在本機主機上聆聽的網路應用程式,發動 DNS 重新繫結攻擊。

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

移除 DOMParser 上的 includeShadowRoots 引數

includeShadowRoots 引數是 DOMParser.parseFromString() 函式的引數,但從未標準化,這項引數可讓您強制剖析含有宣告式 Shadow DOM 的 HTML 內容。這項功能已在 Chrome 90 推出,是宣告式 Shadow DOM 初始版本的一部分。

由於 setHTMLUnsafe() 和 parseHTMLUnsafe() 方法提供這項功能的標準版本,因此非標準的 includeShadowRoots 引數將遭到移除。程式碼應更新如下:

而不是這樣

((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});

用途:

Document.parseHTMLUnsafe(html);

移除非標準的宣告式 Shadow DOM 序列化

宣告式 shadow DOM 的原型實作包含一個名為 getInnerHTML() 的方法,用於序列化含有陰影根的 DOM 樹狀結構。原型中的這部分並未與宣告式陰影 DOM 的其他部分標準化,而是設計了替代方案:getHTML()。

因此,Chrome 即將移除舊版 getInnerHTML() 方法,您應改用 getHTML() 做為替代方法,這項方法很快就會在各瀏覽器間互通。

從不安全的內容中移除 PointerEvent.getCoalescedEvents()

指標事件工作小組在四年前將 PointerEvent.getCoalescedEvents() 限制為安全內容,因此將 API 從不安全的內容中移除。Chrome 最初發布舊版行為,且基於相容性問題,並未立即遵循規格變更。

由於 Chrome 在安全性不高的環境中的使用率非常低,因此我們現在會將其從不安全的環境中移除。