Chrome 122 Beta 版

除非另有说明,否则以下变更适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版。您可以通过提供的链接或 ChromeStatus.com 上的列表详细了解此处列出的功能。Chrome 122 的 Beta 版自 2024 年 1 月 24 日起为 Beta 版。您可以从 Google.com 桌面版或 Android 版 Google Play 商店下载最新版本。

CSS

此版本新增了三项 CSS 功能。

具有不受支持的功能的 CSS @container 查询从不匹配

包含不受支持的查询的 @container 选择器永远不会选择任何容器,这意味着它们将永远不匹配。

这意味着,此查询永远不会匹配任何容器,即使存在与宽度查询匹配的大小容器也是如此。例如,由于未知特征,以下查询永远不会匹配:

@container (width > 0px) or (unknown) {}

这是对规范的最新更改,旨在避免向前兼容性问题。

继承自原始元素的 CSS 伪元素 ::backdrop

用于从初始值继承的 ::backdrop 伪元素。这意味着,除非直接在 ::backdrop 规则中指定,否则 ::backdrop 无法使用自定义属性值。规范现已更改,::backdrop 继承自原始元素,此更改使 Chrome 实现符合新规范。

@import”的 CSS supports() 条件

@import 现在接受 supports() 条件。如果 supports() 条件不匹配,系统将不会提取导入作业。

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

放置在 supports() 中的特征查询与 @supports 中使用的特征查询相同

Web API

Async Clipboard API:读取未经过排错的 HTML

read() 方法中添加了 unsanitized 选项,以获取未经过排错的 HTML 格式。除非网站包含此属性,否则系统会清理剪贴板中的内容。

默认情况下,出于安全考虑,当使用异步 API 读取 text/html MIME 类型时,系统会调用排错程序以从 HTML 标记中删除内容,并将样式内嵌在 HTML 中。这会导致 HTML 载荷庞大,并且当 Web 开发者或移动应用读取 HTML 内容时,会丧失保真度。

不要删除 dataTransfer.clearData() 中的 File kind 对象

更新 Chrome 以符合spec,规范指定 clearData() 不会影响 File 对象。而只会删除 text 种类对象。

FedCM:断开连接

允许通过依赖方网站解除关联联合登录账号。 使用取消关联 API 时,依赖方可能会通知身份提供方之前使用过的帐号现已解除关联,因此再次将该帐号与联合登录搭配使用需要将其视为新帐号。

在 iframe 中实现可互操作的鼠标按下事件取消功能

将指针拖出 iframe 时,使鼠标事件目标与 mousedown 事件取消无关。当鼠标从 iframe 中拖出时,所有浏览器(包括 Chrome)都会向 iframe 发送 mousemovemouseup 事件。不过,如果取消 mousedown 事件,Chrome 目前会保留一个旧的 WebKit 异常,即 mousemove 和 mouseup 事件将发送到外部框架。WebKit 去年移除了此异常,而 Mozilla 近年来从未出现过此行为。此功能将针对这种特殊情况移除仅针对 Chrome 的例外情况。

迭代器帮助程序

迭代器帮助程序是迭代器原型中的新方法,允许一般使用和使用迭代器。

MessagePort.onclose

Channel Messaging API 的更改,用于通知其中一个 MessagePort 通知其他端口已分离。也就是说,调用 close()、应付文档被销毁,或对端口进行垃圾回收。

用于请求生成关键帧的 RTCRtpSender setParameters() 扩展

向 WebRTC 的 RTCRtpSender.setParameters 调用添加可选的第二个参数,用于请求关联的编码器生成关键帧。

设置方法

set 方法是添加到 JavaScript 内置 Set 类中的新方法,例如 union 和 Intersection。

Storage 存储分区 API

借助存储分区,网站能够将设备上的数据整理到单独的“存储分区”中,这使得用户代理能够逐出分组数据(独立于其他存储分区中的数据),并且使网站能够按照人体工程学管理语义相关数据。每个存储分区都可以包含与已建立的存储 API(例如 IndexedDB 和 CacheStorage)关联的数据。

网址格式:hasRegExpGroups

允许检查 URLPattern 是否使用一个或多个 ECMAScript 正则表达式组,因此在 ECMAScript 引擎不可用(例如某些即将推出的计划 API)的情况下可能不适合使用。 严格来说,这反映了开发者通过检查模式而获知的信息,但能够访问 UA 对此检查的实现会让这一过程变得更加简单。

WebGL 绘图缓冲区存储

WebGL 允许渲染到许多不同像素格式的纹理和渲染缓冲区。例如 8 位、浮点数和 sRGB 编码。

WebGL 的绘制缓冲区(传递给合成器的缓冲区)默认为 8 位。绘图缓冲区存储功能允许 WebGL 配置此绘图缓冲区的像素格式,使开发者能够进行以下操作。

  • 避免在将渲染转换为默认绘制缓冲区像素格式时添加额外的副本。
  • 绘制精度超过 8 位的内容。

后一种功能解锁了其他几个应用:

  • 超广色域内容,不会有损精确度。
  • 需要高于 8 位精度的医疗应用。
  • 高动态范围应用(如有)。

适用于 TLS 的 X25519Kyber768 密钥封装

通过部署 Kyber768 抗量子密钥协议算法,保护当前的 Chrome TLS 流量免受未来的量子密码分析的影响。这是基于 IETF 标准的 X25519 + Kyber768 密钥协议混合版本。此规范和发布不在 W3C 的范围内。此密钥协议将作为 TLS 加密发布,并且应向用户公开。

正在进行源试用

在 Chrome 122 中,您可以选择启用以下新的源试用

Web 应用范围扩展

Web 应用范围(由 scope 字段定义)只能使用来自单个来源的路径进行定义。它用于确定应用窗口的当前文档是否属于应用。它还决定了其他清单成员中允许使用哪些网址。

借助 scope_extensions,开发者能够扩展其应用的行为,以包含其他来源(如果 Web 应用的主要来源与关联的来源之间达成一致)。

注册 Web 应用范围扩展程序源试用

捕获的表面控制

借助 Captured Surface Control API,Web 应用在捕获的标签页或窗口中生成滚轮事件,并读取或写入捕获的标签页的缩放级别。

注册“捕获的 Surface Control”源试用