除非另有說明,否則下列變更適用於 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 所述) 中的檔案和目錄變更,並收到基本變更資訊通知,例如變更類型。
淘汰和移除
這個版本的 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 在安全性不高的環境中的使用率非常低,因此我們現在會將其從不安全的環境中移除。