Chrome 140 Beta 版

发布时间:2025 年 8 月 6 日

除非另有说明,否则以下更改适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道。您可以通过提供的链接或 ChromeStatus.com 上的列表,详细了解此处列出的功能。截至 2025 年 8 月 6 日,Chrome 140 处于 Beta 版阶段。您可以从 Chrome 官方网站 下载桌面版最新版本,也可以在 Android 设备上从 Google Play 商店 下载。

CSS 和界面

CSS 类型化算术

借助类型化算术,您可以在 CSS 中编写表达式,例如 calc(10em / 1px)calc(20% / 0.5em * 1px)。这在排版等场景中非常有用,因为它可以让您将类型化值转换为非类型化值,并将其重复用于接受数字的属性。另一个用例是将无单位值乘以另一种类型。例如,您可以从像素转换为度数。

scroll-target-group 属性

scroll-target-group 属性用于指定元素是否为滚动标记组容器。它接受以下值之一:

  • “none”:该元素不会建立滚动标记组容器。
  • “auto”:该元素会建立滚动标记组容器,形成一个滚动标记组,其中包含所有滚动标记元素,而该元素是这些滚动标记元素最近的祖先滚动标记组容器。

建立滚动标记组容器后,任何带有片段标识符且位于此类容器内的锚点 HTML 元素都可以成为 ::scroll-marker 伪元素的 HTML 等效项。可以使用 :target-current 伪类为滚动目标当前处于视图中的锚点元素设置样式。

content 属性的替代文本中启用 counter()counters()

此功能增加了在 content 属性的替代文本中使用 counter()counters() 的功能。这可以提供更有意义的信息,从而提高无障碍功能。

视图转换伪元素继承更多动画属性

视图转换伪元素树现在继承了许多动画属性:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

启用嵌套视图转换

借助此功能,视图转换可以生成嵌套的伪元素树,而不是平面树。这样,视图转换看起来会更符合其原始元素和视觉意图。它支持剪辑、嵌套 3D 转换,以及正确应用不透明度、遮盖和滤镜等效果。

从根传播视口 overscroll-behavior

此更改会从根(而不是正文)传播 overscroll-behavior。CSS 工作组决定不将属性从 <body> 传播到 视口。相反,视口的属性会从根 (<html>) 元素传播。因此,overscroll-behavior 应从根元素传播。不过,Chrome 长期存在一个问题:它从 <body> 而不是根传播 overscroll-behavior。此行为与其他浏览器不兼容。此更改使 Chrome 符合规范,并与其他实现兼容。

ScrollIntoView 容器选项

借助 ScrollIntoViewOptions 容器选项,开发者可以执行 scrollIntoView 操作,该操作只会滚动最近的祖先滚动容器。例如,以下代码段只会滚动 target 的滚动容器以使 target 进入视图,但不会将所有滚动容器滚动到视口:

target.scrollIntoView({container: 'nearest'});

添加 CSS caret-animation 属性

Chromium 支持 caret-color 属性的动画。不过,在添加动画效果后,插入符号的默认闪烁行为会干扰动画。

CSS caret-animation 属性有两个可能的值:automanualauto 表示浏览器默认值(闪烁),manual 表示开发者控制插入符号动画。此外,如果用户对闪烁的视觉效果感到困扰或出现不良反应,可以使用用户样式表停用闪烁。

highlightsFromPoint API

借助 highlightsFromPoint API,开发者可以与自定义突出显示互动。它可以检测文档中特定点存在哪些突出显示。这种互动对于复杂的 Web 功能非常有用,因为在这些功能中,多个突出显示可能会重叠或存在于 Shadow DOM 中。通过提供基于点的精确突出显示检测,该 API 使开发者能够更有效地管理与自定义突出显示的动态互动。例如,开发者可以响应用户在突出显示区域中的点击或悬停事件,以触发自定义工具提示、上下文菜单或其他互动功能。

更改视图转换完成 promise 时序

当前的完成 promise 时序发生在渲染生命周期步骤中。这意味着,由于 promise 解析而运行的代码会在移除视图转换的视觉帧生成后运行。如果脚本移动样式以保留视觉上相似的状态,这可能会导致动画结束时出现闪烁。此更改通过将 ViewTransition 清理步骤移至生命周期完成后异步运行来解决此问题。

添加 ToggleEvent source 属性

ToggleEventsource 属性包含触发 ToggleEvent 触发的元素(如果适用)。例如,如果用户点击一个 <button> 元素,该元素的 popovertargetcommandfor 属性设置为打开弹出式窗口, 则在弹出式窗口上触发的 ToggleEvent 将其 source 属性设置为调用 <button>

防止 SVG foreignObject 污染 blob 网址的画布

所有浏览器长期以来都支持在 HTML 画布 drawImage 操作中使用带有 SVG 源的 <img> 元素。不过,画布污染行为因平台而异。当 SVG 源包含 foreignObject 标记并使用 HTTP URI 引用时,所有浏览器都会污染画布。当通过数据 URI 引用同一 SVG 时,所有浏览器都不会污染画布。不过,当使用 blob URI 时,Chromium(在此更改之前)和 WebKit 都会污染画布,但 Gecko 不会。此功能发布后,Chromium 的行为与 Gecko 的行为一致,从而允许在画布 drawImage 调用中使用更广泛的 SVG 内容,而不会污染画布。

@font-face rule 中支持 font-variation-settings 描述符

借助 CSS,开发者可以使用各个元素上的 font-variation-settings 属性调整字体的粗细、宽度、倾斜度和其他轴。不过,基于 Chromium 的浏览器不支持 @font-face 声明中的此属性。此功能支持 CSS Fonts Level 4 中定义的 font-variation-settings 的基于字符串的语法。根据规范,系统会忽略无效或无法识别的功能标记。不支持二进制或非标准形式。可变字体因其性能和排版灵活性而得到越来越广泛的应用。在 Chromium 中添加对此描述符的支持可增强控制能力、减少重复,并支持更具可扩缩性的现代 Web 排版方法。

Web API

Uint8Array 与 base64 和十六进制之间进行转换

Base64 是一种将任意二进制数据表示为 ASCII 的常用方法。JavaScript 具有用于二进制数据的 Uint8Arrays。不过,它缺少将该数据编码为 base64 或获取 base64 数据并生成相应 Uint8Array 的内置机制。此功能添加了在十六进制字符串和 Uint8Arrays 之间进行转换的功能和方法。

使用 ReadableStreamBYOBReader min 选项

此功能为现有 ReadableStreamBYOBReader.read(view) 方法引入了 min 选项。该方法已接受 ArrayBufferView(它将数据读入其中),但目前无法保证在读取解析之前写入的元素数量。通过指定 min 值,您可以要求流等待,直到至少有那么多元素可用,然后才能解析读取。这改进了当前的行为,因为当前的行为可能会导致读取解析的元素数量少于视图可以容纳的元素数量。

在某些情况下,在服务器端区分服务器设置的 Cookie 和客户端设置的 Cookie 非常重要。其中一种情况涉及通常始终由服务器设置的 Cookie。不过,意外代码(例如 XSS 漏洞、恶意扩展程序或糊涂的开发者提交的内容)可能会在客户端上设置这些代码。此提案添加了一个信号,让服务器可以进行此类区分。更具体地说,它定义了 __Http__HostHttp 前缀,以确保不会使用脚本在客户端上设置 Cookie。

本地网络访问限制

Chrome 140 限制了向用户本地网络发出请求的功能,需要显示权限提示。本地网络请求是指从公共网站到本地 IP 地址或环回地址的任何请求,或从本地网站(例如内网)到环回地址的任何请求。通过在权限后限制网站执行这些请求的功能,可以降低针对本地网络设备(例如路由器)的跨站请求伪造攻击的风险。它还可以减少网站使用这些请求来对用户本地网络进行指纹识别的能力。此权限仅限于安全环境。如果获得授权,该权限还会放宽对本地网络请求的混合内容屏蔽,因为许多本地设备出于各种原因无法获取公开受信任的 TLS 证书。

如需了解详情,请参阅本地网络访问权限的新权限提示

允许 SharedWorker 脚本继承 blob 脚本网址的控制器

规范规定,worker 应继承 blob 网址的控制器。不过,现有代码仅允许专用 worker 继承控制器,而共享 worker 则不允许。这修复了 Chrome 的行为,使其符合规范。SharedWorkerBlobURLFixEnabled 企业政策控制着此功能。

添加 ServiceWorkerStaticRouterTimingInfo

此功能为 ServiceWorker 静态路由 API 添加了时序信息,这些信息在导航时序 API 和资源时序 API 中公开,供开发者使用。ServiceWorker 提供时序信息来标记特定时间点。

此功能添加了两条与静态路由 API 相关的时序信息:

  • RouterEvaluationStart:开始将请求与已注册的路由器规则进行匹配的时间。
  • CacheLookupStart:如果来源 为 "cache",则开始查找缓存存储的时间。

此外,此功能还添加了两条路由器来源信息:匹配的路由器来源和最终路由器来源。

在 Android 上启用 Web Authentication 条件创建(未发布)

独立式 Web 应用

推出 Controlled Frame API

此功能添加了仅适用于独立式 Web 应用 (IWA) 的 Controlled Frame API。与其他平台上的类似名称的 API 一样,Controlled Frame 允许嵌入所有 内容,即使是无法嵌入 <iframe> 中的第三方内容也是如此。 Controlled Frame 还允许使用一系列 API 方法和事件来控制嵌入的内容。如需详细了解独立式 Web 应用,请参阅独立式 Web 应用 说明

新的来源试用

在 Chrome 140 中,您可以选择参与以下新的 来源 试用

添加 clipboardchange 事件

每当 Web 应用或任何其他系统应用更改系统剪贴板内容时,系统都会触发 clipboardchange 事件。这样,远程桌面客户端等 Web 应用就可以使其剪贴板与系统剪贴板保持同步。它提供了一种高效的替代方案,可以避免使用 JavaScript 轮询剪贴板以进行更改。

启用来电通知

此功能扩展了 Notifications API,允许已安装的 PWA 发送来电通知(带有通话样式按钮和铃声的通知)。此扩展程序有助于 VoIP Web 应用创建更具吸引力的体验,让用户更容易识别和接听通话通知。 此外,此功能还有助于弥合同时具有原生实现和 Web 实现的应用之间的差距。

推出 Crash Reporting 键值对 API

此功能推出了一种新的键值对 API,暂定为 window.crashReport,由每个文档映射提供支持,该映射保存附加到崩溃报告的数据。

如果网站上发生任何渲染器进程崩溃,则放置在此 API 的支持映射中的数据将以 CrashReportBody 形式发送。这样,开发者就可以调试应用中的哪些特定状态可能会导致给定的崩溃。

弃用和移除

此版本的 Chrome 引入了以下弃用和移除。 如需查看计划弃用、当前弃用和之前移除的列表,请访问 ChromeStatus.com。

此版本的 Chrome 弃用了一项功能。

弃用某些元素内 <h1> 的特殊字体大小规则

HTML 规范包含一个特殊规则列表,适用于 <h1> 标记,这些标记嵌套在 <article><aside><nav><section> 元素中。

这些特殊规则已被弃用,因为它们会导致无障碍功能问题。 也就是说,它们在视觉上缩小了嵌套 <h1> 的字体大小,使其看起来像 <h2>,但无障碍功能树中没有任何内容反映此视觉变化。