Chrome 117 Beta 版

CSS 格線子格線、進入及離開動畫支援 CSS、陣列分組、疊代器輔助程式等。

除非另有註明,否則上述異動適用於 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。您可以透過提供的連結或 ChromeStatus.com 上的清單進一步瞭解此處列出的功能。Chrome 117 已於 2023 年 8 月 16 日推出 Beta 版。你可以透過電腦前往 Google.com 或使用 Android 裝置前往 Google Play 商店下載最新版本。

CSS

這個版本加入了六項 CSS 功能,前三個屬性是獨立屬性啟用轉換功能的一部分,啟用進入和離開動畫

@starting-style 規則

這項規則可讓作者在第一次樣式更新時啟動 CSS 轉換。

第一次更新元素樣式時,或顯示類型從 none 變更為其他類型時,CSS 轉換不會觸發從初始樣式轉換。這是為了避免初始樣式產生非預期的轉換。如要從第一次樣式更新開始轉換,您現在可以在 @starting-style 規則中套用樣式。舉例來說,下列 CSS 會在第一次更新 div 時,開始將背景色彩從綠色轉變成 Lime:

div { 
  transition: background-color 0.5s; 
  background-color: lime; 
} 

@starting-style {
  div { 
    background-color: green; 
  } 
}

疊加層屬性

overlay 屬性可讓開發人員將元素保留在頂層圖層,以利結束轉換。系統會新增疊加層屬性,指出元素是否位於頂層圖層,可接受兩種值:noneauto

CSS 轉換行為屬性

transition-behavior CSS 屬性是 transition 屬性的長途屬性,可讓使用者在轉場中使用不同的屬性。透過為轉換行為指定 allow-discrete 值後,離散屬性現在會啟動動畫,並從初始值轉換成 50% 的最終值。如果轉換的 display: nonecontent-visibility: hidden 為初始或最終值之一,則整個轉換期間都會使用顯示的值。

CSS 格線子格線值

grid-template-columnsgrid-template-rowssubgrid 值現已在 Chrome 中實作。這個值可讓巢狀格線使用其父項定義的軌跡,而非建立新的列和/或資料欄的新軌跡定義。

CSS 文字換行:漂亮

CSS text-wrap 屬性的 pretty 值會根據最佳版面配置進行最佳化,而非速度。適用於內文,因此預期會顯示多行。開發人員使用 pretty 明確選擇採用可能低於 wrap 的版面配置方法,以利達到最佳效能。Chrome 目前的實作方式會針對孤立項目進行最佳化,避免在文字段落底部顯示單一字詞。

在 Chrome 117 中,試試這個自動換行功能示範,瞭解該值如何改變文字呈現的效果。

include-intrinsic-size:自動無支援

這項功能擴充現有的 contain-intrinsic-size 語法,同時包含 auto && none

網站 API

陣列分組

陣列分組是一項非常常見的作業,最適合使用 SQL 的 GROUP BY 子句和 MapReduce 程式設計 (較想用 map-group-reduce 著稱)。運用將資料分組的方式,開發人員可以計算順序較高的資料集,例如同類群組的平均年齡,或是網頁的每日 LCP 值。這項功能可以新增 Object.groupByMap.groupBy 靜態方法。Object 方法會傳回純物件,其中群組是屬性鍵。Map 方法會傳回 Map,其中鍵可以是任意值。

透過 Clear-Site-Data 標頭清除用戶端提示

網站現在可以使用 Clear-Site-Data: "clientHints" 清除用戶端提示快取。系統現在也會清除「Cookie」、「快取」或「*」時的提示都是由相同標頭指定這是因為如果使用者也清除 UI 用戶端提示中的 Cookie,則用戶端提示快取是快取,和萬用字元目標保持一致。

Clear-Site-Data 標頭萬用字元語法

網站現在可以傳送 Clear-Site-Data: "*" 來清除所有儲存空間目標 (「Cookie」、「快取」和「儲存空間」)。請注意,Chrome 不支援清除「executionContexts」但如果日後才加入任何指定「*」標頭系統也會一併清除這些圖片

customElements.getName

customElements.getName() 方法會傳回指定自訂元素定義的標記名稱。

疊代器輔助程式

疊代器輔助程式是疊代器原型的新方法,可讓一般用途及使用疊代器。

讓 CaptureController 衍生自 EventTarget 介面

CaptureController 介面可讓您進一步操控螢幕畫面擷取工作階段。日後,與擷取工作階段相關的事件應會分派到該控制器。為了管理這類事件的事件監聽器,提供 CaptureController 方法的 EventTarget 方法。

PerformanceResourceTiming deliveryType

PerformanceResourceTimingdeliveryType 屬性會傳回資源傳送方式的相關資訊。例如從快取傳遞的資源 (目前透過 transferSize 公開的資源),以及前一頁預先擷取的瀏覽作業。

網址 setter 中的通訊埠溢位檢查

設定 url.port 時,系統會檢查通訊埠值。超過 16 位元數值限制的所有值都會失效。舉例來說,下列指令碼在完成變更後的運作方式會有所不同:

u = new URL("http://test.com"); 
u.port = 65536; 
console.log(u.port); 

變更輸出值之前為 65536。變更後的輸出內容為 80。

Private State Token API

這個新的 API 無需使用第三方 Cookie 等跨網站永久 ID,即可在各網站上傳播有限的私人信號。淘汰第三方 Cookie 後,仰賴第三方 Cookie 的反詐騙方法將無法運作。Private State Token API 不會產生或定義反詐欺信號,具體取決於對應的第一方和權杖核發者。相反地,API 會對這些信號中傳輸的資訊強制執行限制,以維護隱私。這個 API 是以 Privacy Pass 通訊協定的變化版本為基礎,此通訊協定正經 IETF 標準化。我們提供可視為網路公開的 Privacy Pass 通訊協定形式。API 規格將更新為新版本和權杖類型,並持續與 Privacy Pass 工作群組規格保持同步。預期的變更涉及基礎密碼編譯通訊協定和權杖核發程式碼:我們不預期開發人員在核發和兌換 Fetch API 中看到相應變更。Private State Token API 舊稱 Trust Token API。重新命名可更準確地反映基礎語意,並向使用者強調隱私權的優點。

與網址標準相容的 IPv4 內嵌 IPv6 主機剖析器

系統會更新剖析 IPv4 內嵌 IPv6 主機剖析器的行為,並嚴格遵守網路網址標準。IPv6 位址的限制如下:

  • 內嵌 IPv4 位址一律由 4 個部分組成。
  • 少於 4 個部分 (例如 http://[::1.2]) 的地址將失效。這項功能是 2023 年網址互通性的一部分。

網址:允許「%00」做為有效網址路徑

如果網址的路徑部分包含「%00」,Chrome 目前會將網址視為無效(或空值),不符合網址標準規定。舉例來說,下列測試在 Chrome 中失敗,因為 new URL(...) 會擲回無效的網址例外狀況。

assertEquals(new URL("http://example.com/%00").pathname, "/%00"); 

根據網址標準,網址路徑中的任何字元或位元組順序均不得失效,且這項變更會將 Chrome 更新為符合該標準。

WebRTC RTP 標頭擴充功能控制項

擴充 WebRTC RTCRtpTransceiver API,以便控制要交涉的 RTP 標頭延伸模組。

VideoEncoder 中的個別影格量化工具

新增「量化器」VideoEncoderBitrateMode 代表 VideoEncoder。 這樣您就能為每個影格指定 AV1、VP9 和 AVC 視訊轉碼器的量化器參數。

requestDevice() 中的 WebUSB exclusionFilters 選項

navigator.usb.requestDevice() 中的 exclusionFilters 選項可讓網頁開發人員從瀏覽器挑選器中排除部分裝置。可用來排除符合更廣泛篩選條件,但不受支援的裝置。

來源試用進行中

在 Chrome 117 中,您可以選擇啟用下列新的來源試用功能。

使用 Shared Brotli 的壓縮字典傳輸功能

這項功能支援使用指定的先前回應,作為 Brotli 壓縮 HTTP 回應的外部字典。

註冊 CompressionDictionaryTransport 來源試用

WebSQL 淘汰試用計畫

正在從 Chrome 中移除 WebSQL。建議使用這類網站的網站改用 Wasm 的 SQLite

這項淘汰試用計畫可協助開發人員需要更多時間,在 Chrome 123 (2024 年 3 月) 前繼續使用 WebSQL。報名參加 WebSQL 淘汰試用計畫

分頁式網頁應用程式

允許網頁應用程式視窗提供分頁列,例如在同一個應用程式中編輯多份文件。這會新增「分頁式」顯示模式和新的資訊清單欄位可讓您自訂分頁列。

報名參加分頁式網頁應用程式來源試用

淘汰和下架

這個版本的 Chrome 導入下列淘汰和移除程序。請前往 ChromeStatus.com 查看預定淘汰事宜、目前淘汰項目和先前移除內容的清單。

這個版本的 Chrome 淘汰了兩項功能。

淘汰卸載事件

Chrome 117 會開始淘汰 unload 事件處理常式。如果您的網站使用這類政策,我們強烈建議您閱讀關於淘汰 unload 的專門文章,瞭解詳細資訊。

淘汰 TLS SHA-1 伺服器簽章

Chrome 即將停止支援在 TLS 握手期間透過 SHA-1 驗證伺服器簽章。這不會影響已移除的伺服器憑證或 Google 繼續支援的用戶端憑證中的 SHA-1 支援功能。

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

[WebRTC] 取消傳送以回呼為基礎的舊版 getStats()

RTCPeerConnection 提供兩個 getStats() 版本,其中一個版本符合規範,透過解析承諾來傳回報表;另一種非標準版本則透過回呼做為第一個引數,傳回與眾不同的報表。現在系統會移除回呼式 回呼。

如要進一步瞭解遷移,以及需要更多時間該怎麼辦,請參閱舊版 getStats() 遷移指南

移除 WebRTC getStats datachannelIdentifier 的 -1 值

WebRTC getStats API 會公開 dataChannelIdentifier 屬性。您不會再提供「-1」這個值。如果在建立資料通道連結之前查詢統計資料。而會略過字典成員。

移除 WebRTC getStats 編碼器實作和解碼器實作「unknown」

WebRTC getStats API 會公開輸出和傳入影片的編碼器和解碼器實作名稱。若是在影片影格編碼或解碼之前查詢統計資料,則不會再提供「未知」的值。而會略過字典成員。

CSS 資源 -webkit-highlight

移除用來醒目顯示文字,但從未標準化的 CSS 屬性 -webkit-highlight。在 Chromium 中不會顯示此效果 (已經過剖析,但絕不會用於轉譯內容)。這項資源已從 2014 年從 WebKit 中移除、在 MDN 上標示為已淘汰,並已於近期替換為 CSS 精選虛擬規格