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 propertycalc-size() 函式

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

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

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

CSSWG 已決定將這個屬性從 inset-area 重新命名為 position-area。Chrome 129 會提供 position-areainset-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 在安全性不高的環境中的使用率非常低,因此我們現在會將其從不安全的環境中移除。