CSS 動態路徑、往返快取 NotRestoredReason API、文件子母畫面等。
除非另有註明,否則上述異動適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。您可以透過提供的連結或 ChromeStatus.com 上的清單進一步瞭解此處列出的功能。Chrome 116 將於 2023 年 7 月 19 日推出 Beta 版。你可以透過電腦前往 Google.com 或使用 Android 裝置前往 Google Play 商店下載最新版本。
CSS
這個版本加入了兩項 CSS 功能。
CSS 動態路徑
動態路徑可讓作者定位任何圖形物件,並在開發人員指定的路徑上建立動畫。這可提供許多強大的全新轉換可能性,例如使用極座標 (使用 ray()
函式) 定位,而非使用 translate()
函式使用的標準矩形座標,或是沿著已定義路徑以動畫方式呈現元素。這樣就能更輕鬆地定義複雜且美觀的 2D 空間轉場效果。路徑可指定為 circle()
、ellipse()
、rect()
、inset()
、xywh()
、polygon()
、ray()
和 url()
。
顯示和內容瀏覽權限動畫
Chrome 116 支援主要畫面格動畫中的 display
和 content-visibility
屬性。這項支援功能可讓開發人員建立離開動畫後,元素會自動變成 display: none
或 content-visibility: hidden
,無需撰寫任何 JavaScript,在動畫結束後處理切換鈕。這樣一來,就能單純在 CSS 中新增元素的結束動畫。
網站 API
AbortSignal.any()
傳回取消任何來源信號時取消的信號。開發人員可以使用這項功能結合獨立的取消來源,例如以 AbortSignal.timeout()
指定的逾時和與 AbortController 相關聯的信號,並傳遞至 fetch()
等非同步 API。
BYOB 支援擷取功能
Chrome 實作 ReadableStream 支援可讀取的位元組串流使用自備緩衝區 (BYOB) 讀取器。現在,Response.body
也是可讀取的位元組資料流,而非「default」可讀取的串流。這可讓 Fetch API 搭配 BYOB 讀取器使用,從而減少垃圾收集的負擔與副本,並提升使用者的回應速度。現在,Blob.stream()
也可受惠於這項最佳化作業。
往返快取 NotRestoredReason API
NotRestoredReason API 會透過 PerformanceNavigationTiming API,在頁框樹狀結構中向 BFcache 提供頁面的原因清單。
文件子母畫面
「文件子母畫面」新增了 API,可開啟持續待機視窗,並填入任意 HTMLElements
。這是在現有的 HTMLVideoElement
API 上擴充的,僅允許將 HTMLVideoElement
放入子母畫面 (PiP) 視窗。這可讓網頁程式開發人員為使用者提供更優質的子母畫面體驗。
權限政策來源中的萬用字元展開
許可清單中的子網域萬用字元提供了一定的靈活度,但與現有的萬用字元剖析器不同,需要新的程式碼和規格工作。透過這項意圖,您可以重複使用現有的內容安全性政策規格部分,並允許許可清單中的 scheme + wildcard domain
和 wildcard port
,進而減少這類負荷。具體來說,這個意圖將採用主機來源和配置來源的定義,而非許可清單定義中的來源定義,同時要求路徑部分為空白 (因為比對來源適用權限政策)。
FedCM 套裝組合:Login Hint API、User Info API 和 RP Context API
這項隨附更新允許自訂設定,指定使用 Federated Credential Management API (FedCM) 的聯合登入流程。
使用 Login Hint API 時,依賴方 (RP) 可以指定在 FedCM UI 中顯示的使用者帳戶提示。主要用於為回訪者提供更優質的使用者體驗。
User Info API 可讓識別資訊提供者 (IdP) 擷取使用者資訊,方便回訪者提供個人化的登入體驗,例如透過個人化「使用 IdP 登入」按鈕。
使用 RP Context API 時,RP 可以要求 FedCM 對話方塊取代標題「登入」搭配「註冊」、「使用」或「Continue」等,藉此比對使用者的實際意圖。
非撰寫的滑鼠和指標進入/離開事件
請將 mouseenter
、mouseleave
、pointerenter
和 pointerleave
事件中的 event.composed
屬性設為 "false"
,以符合規格要求,並修正互通性缺口。滑鼠事件的 UI 事件規格和指標事件規格都會將這些事件定義為非組成。這兩種規格在幾年前已經不再原始定義:https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461;除瞭解決互通性差距之外,這項變更也修正了在 Chromium 中將 DOM 事件分派給主機時,造成雙重或三重分派錯誤同時放到 Chromium 主機中的
移除 document.open sandbox 繼承
目前,當 document.open
指定其他視窗時,呼叫端的沙箱旗標目前會套用至受呼叫端。這項變更實施後即不再適用。
回報「Critical-CH」在 NavigationTiming 中重新啟動的情形
網站可以在 Critical-CH
HTTP 回應標頭中加入特定用戶端提示,表示該提示對網頁至關重要。這麼做會觸發連線重新啟動,前提是初始傳送的 HTTP 要求不含 Critical-CH
HTTP 回應標頭列出的提示 (但沒有)。這項意圖建議將 readonly attribute DOMHighResTimeStamp criticalCHRestart;
新增至 PerformanceNavigationTiming
介面。
來源試用進行中
在 Chrome 116 中,您可以選擇啟用下列新的來源試用功能。
COOP:限制屬性
Cross-Origin-Opener-Policy 用於分隔彈出式視窗與開啟器之間的關係,藉此提升安全性。"restrict-properties"是提議的值,可限制關係,而非完全分割。這會在與 COEP 配對時啟用 CrossOriginIsolated。
FedCM 登入狀態 API
Federated Credential Management API (FedCM) 的 IdP Sign-in Status API 可讓識別資訊提供者 (IdP) 在使用者登入/登出時,向瀏覽器發送信號,讓 FedCM 可以改善使用者體驗,提高隱私性。
EditContext API
EditContext API 可簡化將網頁應用程式與進階文字輸入法整合的程序,例如 VK 形狀寫入、手寫面板、語音辨識和輸入法編輯器組合。這個 API 不僅改善無障礙設計、提高效能,還賦予網頁式編輯器的新功能。
長動畫影格顯示時間
這是長時間工作的擴充項目。它會評估工作和後續的轉譯更新,並添加資訊,例如長時間執行的指令碼、顯示時間和採用強製版面配置和樣式所花費的時間,這稱為「版面配置輾轉」。
開發人員可以根據這項差異診斷問題 (由 INP 評估),找出主執行緒擁塞的原因 (這通常是 INP 不良的原因)。