除非另有說明,否則下列變更適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。如要進一步瞭解此處所列功能,請使用我們提供的連結或 ChromeStatus.com 的清單。Chrome 123 已於 2024 年 2 月 21 日推出 Beta 版。您可以前往 Google.com 電腦版或 Android 的 Google Play 商店下載最新版本。
CSS
這個版本新增五項 CSS 功能。
CSS light-dark()
顏色函式
CSS 中的 light-dark()
函式可讓開發人員更輕鬆地根據使用者的偏好,調整淺色或深色模式的色彩配置。
使用 light-dark()
在單一 CSS 屬性中指定兩種不同的顏色值。瀏覽器 (或裝置) 會根據元素的計算 color-scheme
值,自動選擇適當的顏色。以下列 CSS 為例:
- 如果使用者選取淺色主題,
.target
元素的背景就會是亮綠色。 - 如果使用者選取深色主題,
.target
元素會顯示綠色背景。
html {
color-scheme: light dark;
}
.target {
background-color: light-dark(lime, green);
}
CSS 子母畫面顯示模式
新增對 picture-in-picture
值的 CSS display-mode
媒體功能支援。這樣一來,網頁程式開發人員就能編寫只適用於以子母畫面模式顯示網頁應用程式時 (部分情況) 的特定 CSS 規則。
如要進一步瞭解這項媒體功能,請參閱子母畫面說明文件。
適用於區塊的 align-content CSS 屬性
區塊容器和資料表儲存格現在支援 align-content
CSS 屬性。先前只有格線和彈性商品支援這個屬性。舉例來說,display: block
、display: list-item
和 display: table-cell
現在可以使用 align-content
對齊。
詳情請參閱在區塊和資料表版面配置中支援 align-content
的說明。
field-sizing
CSS 屬性
開發人員可以使用 field-sizing
屬性停用表單控制項的固定預設大小,並根據內容調整大小。可讓您建立會自動成長的文字欄位。
CSS text-spacing-trim
屬性
這個屬性會為中文、日文和韓文 (CJK) 標點符號套用角字,產生令人賞心悅目的字體排版,如 JLREQ (日文文字版面配置的要求) 和 CLREQ (中文文字版面配置的要求)。
許多 CJK 標點符號字元包括 glyph-internal 間距。舉例來說,CJK 全停靠站和 CJK 右括號通常在字符空間的右半部具有字符和內部間距,因此能夠不斷推進,當做其他表徵字元。但是,當這些字元出現在一列時,字符內部的間距就會過大。這項功能可調整這類過度的間距。
text-spacing-trim
屬性接受以下四個值中的其中一個:normal
、trim-start
、space-all
和 space-first
。詳情請參閱 CSS 隆重推出四項全新國際功能。
網站 API
允許在跨來源 iframe 中建立 WebAuthn 憑證
這項功能可讓網頁開發人員在跨來源 iframe 中建立 WebAuthn 憑證 (也就是「公開金鑰」憑證,也就是密碼金鑰)。這項新功能必須具備兩個條件:
- iframe 設有
publickey-credentials-create-feature
權限政策。 - iframe 有暫時性的使用者啟用作業。
這樣一來,開發人員就能在內嵌情境中建立密碼金鑰,例如在身分步驟流程完成後在「信賴方」提供聯合身分體驗之後。
歸因報表功能組合
Chrome 123 會在 Attribution Reporting API 中加入觸發條件資料自訂功能和可匯總值篩選器,著重於:
- 支援針對觸發事件資料基數和值的自訂功能,為事件層級報表提供額外 API 設定。
- 透過支援可匯總值中的篩選器,為摘要報表設定額外 API 設定。
跨應用程式和網站歸因評估
擴充 Attribution Reporting API,將網路上發生的轉換歸因於瀏覽器外和其他應用程式中發生的事件。
這裡的提案會採用 OS 層級的歸因支援。請特別注意,這可讓開發人員選擇允許行動版網站中的事件與 Android Privacy Sandbox 中的事件彙整,但也可實作其他平台。
內嵌模組指令碼上的 blocking=render
這個小型變更會移除 <script blocking="render">
中的人工限制。在這項變更之前,即使 src
是資料 URI,<script blocking="render"type="module">
也需要 src
屬性。這是不必要的限制,因為匯入其他指令碼的內嵌模組指令碼應仍能進行轉譯封鎖。
這樣做的原因是,跨文件的檢視畫面轉場效果通常仰賴轉譯封鎖的指令碼進行自訂,因此讓會禁止轉譯的指令碼更容易支援這項功能。
文件子母畫面:允許 focus()
API 將焦點移至開啟工具
您現在可以在文件子母畫面視窗中使用 opener.focus()
,將系統層級的焦點移至擁有文件子母畫面視窗的分頁。
這可讓開發人員在必要時將原始分頁移回前景。例如,使用者需要存取不適用於小型子母畫面視窗的 UI 體驗時。
匯入屬性 with
語法
匯入屬性是 JavaScript 功能,可讓您為匯入宣告 (例如 import xxx from "mod" with { type: "json" }
) 加上註解。Chrome 最初使用 assert
做為關鍵字,傳送舊版提案 (在 Chrome 91 版中)。由於與 JSON 和 CSS 模組的 HTML 整合時需要一些變更,這個版本現已更新為使用 with
。
jitterBufferTarget
jitterBufferTarget
屬性可讓應用程式針對要保留的 RTCRtpReceiver
時基緩衝區指定媒體目標時間長度 (以毫秒為單位)。這會影響使用者代理程式執行的緩衝處理量,進而影響重新傳輸和封包遺失復原作業。如果變更目標值,應用程式就能控製播放延遲,以及因網路時基誤差而耗盡音訊或視訊畫面的風險。
長動畫影格時間設定
Long Animation Frames API 是 Long Tasks API 的擴充功能。該工具會同時測量工作及其後續的轉譯更新,並新增各項資訊,例如執行時間較長的指令碼、轉譯時間,以及強製版面配置和樣式所花費的時間 (稱為「版面配置編譯」)。
開發人員可以將其視為「緩慢程度」的診斷,由 INP 評估,找出主執行緒壅塞的原因,通常是 INP 錯誤的原因。
NavigationActivation
NavigationActivation 介面會新增 navigation.activation
。這會儲存目前文件的啟用時間 (例如初始化時間,或從往返快取還原的狀態)。
這樣一來,開發人員就能根據使用者從哪裡前往的位置提供自訂頁面。例如,如果動畫來自首頁,請執行其他動畫。
頁面顯示事件
在文件發生以下狀態後,系統會在文件的視窗物件中觸發 pagereveal
事件:初次載入、從往返快取還原,或從預先算繪中啟用。
網頁作者可使用這個項目來設定頁面進入體驗,例如從之前狀態轉換的網頁瀏覽。
多筆繪圖的 PointerEvent.deviceId
隨著具有進階輸入功能的裝置日益普及,網路平台必須持續改進這些進階功能,讓使用者和開發人員都能享有豐富的體驗。其中一項進展是,裝置的數位化工具能夠辨識多部觸控裝置同時與其互動。這項功能是 PointerEvent
介面的擴充功能,用來提供新的屬性 deviceId
,用於代表工作階段永久且文件的獨立專屬 ID,開發人員可準確用於識別與網頁互動的個別筆刷。
導覽要求的私人網路存取權檢查:僅限警告模式
在網站 A 前往使用者私人網路中的另一個網站 B 之前,這項功能會執行以下作業:
- 檢查要求是否從安全內容發出。
- 傳送預檢要求,並檢查 B 是否以允許私人網路存取權的標頭回應。
子資源和工作站已具有相關功能,但這個新增功能是專供導覽要求使用。
這些檢查的用意是保護使用者的私人網路。此功能是「僅限警告」模式,因此只要有任何檢查失敗,就不會使要求失敗。不過,開發人員工具中會顯示警告訊息,協助開發人員為即將發布的違規處置做好準備。
Sec-CH-UA-Form-Factor 客戶提示
這項提示會表明使用者代理程式或裝置的「板型規格」,以便網站可以量身打造回應。
Service Worker Static Routing API
這個 API 可讓開發人員設定轉送,並允許他們卸載服務工作站執行的簡單工作。如果條件相符,導覽功能就會在不啟動服務工作站或執行 JavaScript 的情況下發生,使網頁可以避免因 Service Worker 攔截而降低效能。詳情請參閱這個 API 先前的網誌文章。
共用儲存空間更新
這項更新可讓您在不需建立 iframe 的情況下執行跨來源工作小程式。
zstd 內容編碼
Zstandard (或稱 zstd) 是一種 RFC8878 中所述的資料壓縮機制。這是一種快速的無損壓縮演算法,可針對 zlib 層級和更好的壓縮率進行即時壓縮情境。zstd
權杖已新增為 IANA 註冊 Content-Encoding 權杖的權杖。
新增對 zstd
的支援做為 Content-Encoding 支援,可加快網頁載入速度、減少頻寬,以及減少伺服器對壓縮時的時間、CPU 和效能,進而降低伺服器成本。
新來源試用
在 Chrome 123 版中,您可以選擇啟用下列新的來源試用。
WebAssembly JavaScript Pro 整合
為了支援使用 WebAssembly 編寫的回應式應用程式,您必須提供可允許 WebAssembly 程式暫停及重新啟用的功能。
承諾整合的主要初始用途是允許 WebAssembly 程式的原始碼仰賴同步 API 來使用日漸普遍的非同步 API。
移除
Chrome 123 移除了下列功能。
權限和權限政策 window-management
的 window-placement
別名
在 Chrome 111 版中,window-management
已新增為 window-placement
權限和權限政策字串的別名。我們進行到這些只是為了重新命名字串,但最後會淘汰並移除 window-placement
。隨著 Window Management API 的演進,術語變更可以改善描述元的持續性。
系統將於 Chrome 113 版開始淘汰 window-placement
別名的淘汰警告,並現在移除這則警告。