发布时间: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
属性有两个可能的值:auto
和 manual
。
auto
表示浏览器默认值(闪烁),manual
表示开发者控制光标动画。此外,如果用户对闪烁的视觉效果感到不适或有不良反应,可以使用用户样式表停用闪烁效果。
highlightsFromPoint
API
借助 highlightsFromPoint
API,开发者可以与自定义精彩集锦进行互动。它会检测文档中特定时间点存在哪些突出显示。对于多个突出显示可能重叠或存在于影子 DOM 中的复杂 Web 功能,这种互动性非常有用。该 API 可提供基于精确点的精彩片段检测,让开发者能够更有效地管理与自定义精彩片段的动态互动。例如,开发者可以响应突出显示区域中的用户点击或悬停事件,以触发自定义工具提示、上下文菜单或其他互动功能。
更改了 View Transition finished promise 的时序
当前已完成的 promise 的时序发生在渲染生命周期步骤中。这意味着,因 Promise 解析而运行的代码会在生成移除视图过渡效果的视觉帧之后运行。如果脚本移动样式以保持视觉上相似的状态,则可能会导致动画结束时出现闪烁。此变更通过将 ViewTransition 清理步骤移至生命周期完成后异步运行来解决此问题。
添加 ToggleEvent
来源属性
ToggleEvent
的 source
属性包含触发 ToggleEvent
的元素(如果适用)。例如,如果用户点击了设置了 popovertarget
或 commandfor
属性以打开弹出式窗口的 <button>
元素,则在弹出式窗口上触发的 ToggleEvent
的 source 属性将设置为调用 <button>
。
防止 SVG foreignObject
污染 blob 网址的画布
长期以来,所有浏览器都支持在 HTML 画布 drawImage
操作中使用带有 SVG 源的 <img>
元素。不过,画布污染行为因平台而异。当 SVG 源包含 foreignObject
标记并使用 HTTP URI 引用时,所有浏览器都会污染画布。当通过数据 URI 引用同一 SVG 时,所有浏览器都不会污染画布。不过,当使用 blob URI 时,Chromium(在此更改之前)和 WebKit 都会污染画布,但 Gecko 不会。此功能发布后,Chromium 的行为将与 Gecko 的行为保持一致,从而允许在 canvas drawImage
调用中使用更广泛的 SVG 内容,而不会造成污染。
支持 @font-face rule
中的 font-variation-settings
描述符
借助 CSS,开发者可以使用各个元素上的 font-variation-settings
属性来调整字体的粗细、宽度、倾斜度和其他轴。不过,基于 Chromium 的浏览器不支持 @font-face
声明中的此属性。此功能支持 CSS 字体级别 4 中定义的基于字符串的 font-variation-settings
语法。根据规范,系统会忽略无效或无法识别的功能标记。不支持二进制或非标准形式。可变字体在性能和排版灵活性方面都越来越受欢迎。在 Chromium 中添加对该描述符的支持可增强控制能力、减少重复,并支持更具可伸缩性的现代网页排版方法。
Web API
将 Uint8Array
转换为 base64 和十六进制,以及从 base64 和十六进制转换为 Uint8Array
Base64 是一种将任意二进制数据表示为 ASCII 的常用方式。JavaScript 具有用于二进制数据的 Uint8Arrays
。不过,它缺少将该数据编码为 base64 的内置机制,也缺少获取 base64 数据并生成相应 Uint8Array
的机制。此功能添加了在十六进制字符串和 Uint8Arrays
之间进行转换的功能和方法。
使用 ReadableStreamBYOBReader
min
选项
此功能为现有的 ReadableStreamBYOBReader.read(view)
方法引入了 min
选项。该方法已接受一个 ArrayBufferView
(用于读取数据),但目前无法保证在读取解析之前写入了多少个元素。通过指定 min
值,您可以要求流在至少有相应数量的元素可用之前等待,然后再解析读取。这改进了当前行为,即读取操作可能会解析出比视图可容纳的元素更少的元素。
HTTP Cookie 前缀
在某些情况下,在服务器端区分服务器设置的 Cookie 和客户端设置的 Cookie 非常重要。其中一种情况涉及通常始终由服务器设置的 Cookie。不过,意外的代码(例如 XSS 漏洞利用、恶意扩展程序或糊涂的开发者的提交)可能会在客户端上设置这些 cookie。此提案添加了一个信号,可让服务器做出此类区分。更具体地说,它定义了 __Http
和 __HostHttp
前缀,可确保不会在客户端使用脚本设置 Cookie。
本地网络访问限制
Chrome 140 限制了向用户本地网络发出请求的功能,要求显示权限提示。本地网络请求是指从公共网站向本地 IP 地址或环回地址发出的任何请求,或从本地网站(例如内网)向环回地址发出的任何请求。通过权限控制网站执行这些请求的能力,可以降低针对本地网络设备(例如路由器)的跨站请求伪造攻击的风险。它还降低了网站利用这些请求对用户本地网络进行指纹识别的能力。此权限仅限于安全上下文。如果获得此权限,系统还会放宽对本地网络请求的混合内容屏蔽,因为许多本地设备出于各种原因无法获得公开受信任的 TLS 证书。
如需了解详情,请参阅本地网络访问权限的新权限提示。
允许 SharedWorker 脚本针对 blob 脚本网址继承控制器
规范指出,worker 应继承 blob 网址的控制器。不过,现有代码仅允许专用工作器继承控制器,而共享工作器则不允许。此问题修复了 Chrome 的行为,使其与规范保持一致。SharedWorkerBlobURLFixEnabled
企业政策用于控制此功能。
添加ServiceWorkerStaticRouterTimingInfo
此功能为 ServiceWorker Static routing API 添加了时间信息,这些信息在导航时间 API 和资源时间 API 中公开,供开发者使用。ServiceWorker 提供时间信息来标记特定时间点。
此功能添加了两条与静态路由 API 相关的计时信息:
RouterEvaluationStart
:开始将请求与已注册的路由器规则进行匹配的时间。CacheLookupStart
:如果来源为"cache"
,则开始查找缓存存储的时间。
此外,此功能还添加了两条路由器来源信息:匹配的路由器来源和最终路由器来源。
在 Android 上启用 Web 身份验证条件创建(未发布)
独立式 Web 应用
介绍 Controlled Frame API
此功能添加了仅适用于独立式 Web 应用 (IWA) 的受控框架 API。与在其他平台上具有类似名称的 API 一样,受控框架允许嵌入所有内容,甚至包括无法嵌入 <iframe>
中的第三方内容。Controlled Frame 还允许使用一系列 API 方法和事件来控制嵌入的内容。如需详细了解独立式 Web 应用,请参阅独立式 Web 应用说明。
新的源试用
在 Chrome 140 中,您可以选择加入以下新的源试用。
添加 clipboardchange
事件
每当 Web 应用或任何其他系统应用更改系统剪贴板内容时,都会触发 clipboardchange
事件。这样一来,远程桌面客户端等 Web 应用便可使其剪贴板与系统剪贴板保持同步。它提供了一种高效的替代方案,可用于替代通过 JavaScript 轮询剪贴板以检测更改。
启用接收来电通知
此功能扩展了 Notifications API,使已安装的 PWA 可以发送来电通知,即带有通话风格的按钮和铃声的通知。此扩展程序可帮助 VoIP Web 应用打造更具吸引力的体验,让用户更轻松地识别和接听来电通知。 此外,此功能还有助于弥合同时具有原生实现和 Web 实现的应用之间的差距。
介绍崩溃报告键值对 API
此功能引入了一个新的键值 API(暂定为 window.crashReport
),该 API 由一个用于保存附加到崩溃报告的数据的文档级映射提供支持。
如果网站上发生任何渲染器进程崩溃,放置在此 API 的后备映射中的数据将通过 CrashReportBody
发送。这样,开发者便可以调试应用中的哪些特定状态可能会导致给定的崩溃。
弃用和移除
此版本的 Chrome 引入了以下弃用和移除功能。 如需查看计划弃用、当前弃用和之前移除的功能列表,请访问 ChromeStatus.com。
此版本的 Chrome 弃用了一项功能。
弃用某些元素内 <h1>
的特殊字号规则
HTML 规范包含一组针对嵌套在 <article>
、<aside>
、<nav>
或 <section>
元素中的 <h1>
标记的特殊规则。
这些特殊规则已被弃用,因为它们会导致无障碍性问题。也就是说,它们在视觉上缩小了嵌套 <h1>
的字体大小,使其看起来像 <h2>
,但无障碍树中没有任何内容反映此视觉变化。