11 月 18日 ,谷歌公布了 Chrome 97 测试版的新特性,这些更改适用于适用于 Android、Chrome OS、Linux、macOS 和 Windows 的最新 Chrome 97 测试版本。

On November 18th, Google announced the new features of the Chrome 97 beta. These changes apply to the latest Chrome 97 beta for Android, Chrome OS, Linux, macOS and Windows.
The new features of the Chrome 97 beta version are as follows:
Automatically expand detailed information elements

It is now possible to search for elements with closed details and link to them. When using find-in-page, scroll to text fragment (ScrollToTextFragment) and element fragment navigation (element fragment navigation), these hidden elements will also be automatically expanded.
Deliver content security policies through response header push

Previously, Chrome used the wrong owner document content security policy, and now full-time staff authors are managed by the content security policy.
New font-synthesis property

The font-synthesis CSS property controls whether to allow user agents to synthesize these three fonts when the font family lacks oblique, bold, and small-caps fonts. Without this attribute, some web pages that do not have font families with required variants may have unnatural fonts.
transform: perspective supports (none) parameter

The perspective() function now supports the use of’none’ as a parameter. When one of the endpoints of the animation is the identity matrix, it is easier to use the perspective() function to construct the animation.
New keyboard API feature strategy

Chrome supports the new dkeyboard-map value, Keyboard.getLayoutMap() can be used in conjunction with the code to identify keys in different keyboard layouts (such as English and French). This method is not available in iframe elements, and some web applications that cannot use the keyboard API The architecture of the programs (Excel, Word and PowerPoint) is now also available.
New HTMLScriptElement.supports() method

The HTMLScriptElement.supports() method provides a unified method to detect the use of new features of script elements. However, it has not yet been determined which types can be used in the type attribute of the type of HTMLScriptElement. For the content of this part, please refer to the following new feature proposals using script elements:

https://github.com/jeremyroman/alternate-loading-modes/blob/main/triggers.md#speculation-rules https://github.com/WICG /resource-bundles/

Line break normalization of form submission

Line breaks in form entries are now standardized as Gecko and WebKit, solving a long-standing interoperability problem, that is, Gecko and WebKit standardized line breaks later, and Chrome did it earlier. Starting from Chrome 97, early normalization was removed, and later normalization was extended to all encoding types.
Standardize existing client hint naming (Client Hint Naming)

Chrome 97 uses the sec-ch- prefix to standardize the names of client prompts. The affected client prompts are dpr, width, viewport-width, device-memory, rtt, downlink, and ect. Chrome 97 still supports these client prompts. However, this feature will be removed sooner or later, and it is recommended that developers be prepared.

WebTransport is a protocol framework that enables clients subject to the Web security model to communicate with remote servers using secure multiplexed transmission.

Currently, Web developers have two APIs for two-way communication with remote servers: WebSockets and RTCDataChannel.

WebSockets is based on TCP, so it has all the shortcomings of TCP (head-of-line blocking, lack of support for unreliable data transmission), and is not suitable for delay-sensitive applications.
RTCDataChannel is based on the Stream Control Transmission Protocol (SCTP) and does not have the above shortcomings; however, it is designed to be used in a peer-to-peer environment, which results in its relatively low use in client-server settings.

WebTransport provides a client-server API that supports two-way transmission of unreliable and reliable data, using UDP-like datagrams and cancelable streams. The WebTransport call is visible in the Network panel of DevTools and is identified in the Type column.

For more information, see Experimenting with WebTransport.


Chrome 97 includes the latest version 9.7 of the V8 JavaScript engine. A complete list of the latest features can be found in the V8 release notes.

Array and TypedArray already support the findLast() and fileLastIndex() static methods. These functions are similar to find() and findIndex(), but search from the end of the array instead of the beginning.
Deprecation and removal
Delete SDES key exchange for WebRTC

Since 2013, the SDES key exchange mechanism of WebRTC has been declared as “not supported” in the relevant IETF standards, and the IETF has declared that the SDES specification has historical significance. In recent years, its usage in Chrome has dropped significantly, so Chrome 97 removed it.
Delete WebSQL in third-party context

WebSQL in the third-party context has now been removed. The Web SQL database standard was first proposed in April 2009 and abandoned in November 2010. Gecko has never implemented this feature, and WebKit has deprecated it in 2019.
Plan B to delete SDP

The Session Description Protocol (SDP) used to establish sessions in WebRTC is implemented in Chromium using two different dialects: Unified Plan and Plan B (Unified Plan and Plan B). Plan B is not compatible across browsers, so it is deleted.

Original announcement: https://blog.chromium.org/2021/11/chrome-97-webtransport-new-array-static.html

Chrome 97 测试版的新特性如下:

现在可以搜索封闭细节的元素,且可以链接到它们。使用页内查找(find-in-page)、滚动到文本片段(ScrollToTextFragment)和元素片段导航(element fragment navigation)时,这些隐藏的元素也会自动展开。

之前 Chrome 用了错误的所有者文档内容安全策略,现在专职工作者由内容安全政策管理。
新的 font-synthesis 属性

font-synthesis CSS 属性控制当字体族在缺少斜面(oblique)、粗体( bold)和小型大写字母( small-caps)字体时,是否允许用户代理合成这三种字体。如果没有这个属性,一些没有必需变体的字体族的网页可能会有不自然的字体。
transform: perspective 支持 (none)参数

perspective() 函数现在支持使用 ‘none’ 作为参数,在动画的一个端点是单位矩阵的情况下,更容易使用perspective() 函数构建动画。
新的键盘 API 特性策略

Chrome 支持新的dkeyboard-map值,Keyboard.getLayoutMap() 与代码结合使用可以识别不同键盘布局(如英语和法语)的按键,此方法在 iframe 元素中不可用,某些无法使用键盘 API 的 Web 应用程序(Excel、Word 和 PowerPoint)的体系结构也现在可以使用。
新的 HTMLScriptElement.supports() 方法

HTMLScriptElement.supports() 方法提供了一种统一的方法来检测使用脚本元素的新特性。不过目前还没有决定好 HTMLScriptElement的type 的 type 属性可以使用哪些类型。关于此部分的内容可以参阅以下几个使用脚本元素的新功能提案:

https://github.com/jeremyroman/alternate-loading-modes/blob/main/triggers.md#speculation-rules https://github.com/WICG /resource-bundles/


表单条目中的换行符现在与 Gecko 和 WebKit 一样规范化,解决了长期存在的互操作性问题,即 Gecko 和 WebKit 规范化换行符较晚,而 Chrome 较早进行。从 Chrome 97 开始,早期规范化被删除,后期规范化扩展到所有编码类型。
标准化现有的客户端提示命名(Client Hint Naming)

Chrome 97 通过 sec-ch- 前缀来标准化客户端提示的名称,受影响的客户端提示是 dpr、width、viewport-width、device-memory、rtt、downlink、和ect。Chrome 97 还在支持这些客户端提示。不过早晚会删除这个功能,建议开发人员做好准备。

WebTransport 是一个协议框架,它使受 Web 安全模型约束的客户端能够使用安全的多路复用传输与远程服务器进行通信。

目前,Web 开发者有两个用于与远程服务器进行双向通信的 API:WebSockets 和 RTCDataChannel。

WebSockets 是基于 TCP 的,因此具有 TCP 的所有缺点(线头阻塞,缺乏对不可靠数据传输的支持),不适合对延迟敏感的应用程序。

WebTransport 提供了一个客户端 – 服务器 API,支持不可靠和可靠数据的双向传输,使用类似 UDP 的数据报和可取消的流。WebTransport 调用在 DevTools 的 Network 面板中可见,并在 Type 列中标识。

有关更多信息,请参阅使用 WebTransport 进行试验。

Chrome 97 包含 V8 JavaScript 引擎最新的 9.7 版本。可以在 V8 发行说明中找到最新功能的完整列表。

Array 和 TypedArray 已支持 findLast() 和 fileLastIndex()静态方法。这些函数类似于 find() 和 findIndex(),不过从数组的末尾进行搜索,而不是开始。
删除 WebRTC 的 SDES 密钥交换

自 2013 年以来,WebRTC 的 SDES 密钥交换机制已在相关 IETF 标准中声明为“不支持”,IETF 已宣布 SDES 规范具有历史意义。近年来,它在 Chrome 中的使用量显着下降,因此 Chrome 97 将它删除。
在第三方上下文中删除 WebSQL

第三方上下文中的 WebSQL 现在已删除。Web SQL 数据库标准于 2009 年 4 月首次提出,并于 2010 年 11 月放弃。Gecko 从未实现此功能,WebKit 在 2019 年就已经弃用了它。
删除 SDP 的计划 B

用于在 WebRTC 中建立会话的会话描述协议 (SDP) ,在 Chromium 中使用两种不同的方言实现:统一计划和计划 B(Unified Plan and Plan B)。计划 B 不能跨浏览器兼容,因此删除。