Chrome 135

稳定版发布日期:2025 年 4 月 1 日

除非另有说明,否则以下变更适用于适用于 Android、ChromeOS、Linux、macOS 和 Windows 的 Chrome 135 稳定版。

HTML 和 DOM

调用方命令;command 和 commandfor 属性

借助 <button> 元素上的 commandcommandfor 属性,您可以以更易于访问且声明化的方式为按钮分配行为。

跟踪 bug #1490919 | ChromeStatus.com 条目 | 规范

添加了对 <link rel="facilitated-payment" href="..."> 的支持,以提示浏览器应通知已注册的付款客户有待处理的推送付款。

跟踪 bug #1477049 | ChromeStatus.com 条目

CSS

适用于轮播界面的 ::column 伪元素

::column 伪元素,可用于将一组有限的样式应用于生成的 fragment。具体而言,这仅限于不会影响布局且可以在布局后应用的样式。

ChromeStatus.com 条目

::scroll-button() 伪元素

允许将交互式滚动按钮创建为伪元素,例如:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

这些元素应可聚焦,并像按钮一样运作(包括其 UA 样式)。激活后,应沿相应方向滚动一定距离。如果无法沿该方向滚动,则应停用(并使用 :disabled 设置样式),否则应启用(并使用 :enabled 设置样式)。

借助此选择器,您可以定义四个逻辑方向(block-startblock-endinline-startinline-end)以及四个实际方向(updownleftright)。

跟踪 bug #370067113 | ChromeStatus.com 条目 | 规范

::scroll-marker::scroll-marker-group

为滚动容器添加了 ::scroll-marker::scroll-marker-group 伪元素。借助这些标记,您可以为滚动容器内的所有关联项创建一组可聚焦的标记。

跟踪 bug #332396355 | ChromeStatus.com 条目 | 规范

CSS 惰性 - interactivity 属性

interactivity 属性用于指定元素及其扁平树后代(包括文本行)是否处于不活跃状态。

将元素设为不可交互会影响其能否获得焦点、进行编辑、被选中以及能否通过页内搜索功能进行搜索。这也会影响它在无障碍功能树中的可见性。

ChromeStatus.com 条目 | 规范

CSS 逻辑溢出

overflow-inlineoverflow-block CSS 属性允许相对于 writing-mode 设置内嵌和块方向的溢出。在水平写入模式下,overflow-inline 会映射到 overflow-x,而在垂直写入模式下,它会映射到 overflow-y

跟踪 bug #41489999 | ChromeStatus.com 条目 | 规范

CSS 锚点定位会记住滚动偏移量

添加了对记忆的滚动偏移量概念的支持。

当定位元素具有默认锚点,并且一侧固定到此锚点,另一侧固定到原始容器块时,在调整元素大小时,系统会考虑滚动偏移量。这样,当文档在给定滚动偏移量处滚动时,您就可以使用锚定元素的所有可见空间(使用 position-area)。

为了避免每次滚动文档时都重新布局(调整元素大小)(这是一种不必要的行为,对性能也有不利影响),系统将使用所谓的“记忆的滚动偏移量”,而不是始终使用当前滚动偏移量。系统会在所谓的“锚点重新计算点”更新记忆的滚动偏移量,该点可能是:

  • 定位元素首次显示时。
  • 选择其他位置选项 (position-try-fallbacks) 时。

跟踪 bug #373874012 | ChromeStatus.com 条目 | 规范

CSS shape() 函数

shape() 函数允许在 clip-path 中使用响应式自由形式形状。

您可以定义一系列动词,大致相当于 path() 中的动词,但这些动词接受响应式单位(例如 %vw),以及自定义属性等任何 CSS 值。

跟踪 bug #40829059 | ChromeStatus.com 条目 | 规范

safe-area-max-inset-* 变量

此功能会添加不会更改且表示可能的最大安全区域内嵌的 max-area-safe-inset-* 变量。

这解决了以下用例:在某些情况下,页脚(例如)可以随着安全区域内边值的增大而简单地滑动,而不是更改大小,从而避免了重新布局页面。

跟踪 bug #391621941 | ChromeStatus.com 条目 | 规范

嵌套伪元素样式

允许为嵌套在其他伪元素中的伪元素设置样式。目前,已定义以下支持:

  • ::before::marker
  • ::after::marker

未来将支持 ::column::scroll-marker

跟踪 bug #373478544 | ChromeStatus.com 条目 | 规范

音频和视频

为 Web Speech API 添加 MediaStreamTrack 支持

为 Web Speech API 添加了 MediaStreamTrack 支持。

Web Speech API 是一款 Web 标准 API,可让开发者将语音识别和合成功能集成到其网页中。目前,Web Speech API 使用用户的默认麦克风作为音频输入。借助 MediaStreamTrack 支持,网站可以使用 Web Speech API 为其他音频来源(包括远程音轨)添加字幕。

ChromeStatus.com 条目 | 规范

Web API

为 srcdoc iframe 创建 Service Worker 客户端并继承 Service Worker 控制器

Srcdoc 上下文文档目前不是服务工件客户端,也不受其父级服务工件的覆盖。这会导致一些差异(例如,资源时间报告这些文档加载的网址,但服务工件不会拦截这些网址)。此变更旨在通过为 srcdoc iframe 创建 Service Worker 客户端并使其继承父级的 Service Worker 控制器来修正差异。

跟踪 bug #41411856 | ChromeStatus.com 条目 | 规范

元素反射

借助此功能,ARIA 关系属性可在 IDL 中反映为元素引用,而不是 DOMString。

这会在 ARIAMixin 接口中实现类型为 Element 或 FrozenArray<Element> 的 IDL 属性(ariaOwnsElements 除外)。

跟踪 bug #981423 | ChromeStatus.com 条目 | 规范

围栏帧:自动信标跨源数据支持

如果通过 Protected Audience 或 Shared Storage 等 API 加载了围栏框架或 URN iframe,则在发生某些事件时,这些框架或 iframe 可以自动发送报告信标(目前仅支持顶级导航信标)。此功能之前已更新,以允许在根级围栏框架的树中加载的跨源文档在用户选择启用后发送自动信标,但仍然保留了以下限制:只有与 API 加载的源具有相同源的框架才能设置要作为信标的一部分发送的数据。此功能扩展了该功能,允许跨源文档设置将在自动信标中使用的相关数据。

为了允许这种情况,同时又能保护隐私,受限框架根文档和跨源子框架文档都必须明确选择启用。这与其他跨源 FFAR 功能的选择方式相同。具体而言,根帧必须使用 Allow-Fenced-Frame-Automatic-Beacons 标头选择启用,而设置数据的跨源子帧必须在调用 setReportEvent() 时使用 crossOriginExposed 参数选择启用。

ChromeStatus.com 条目 | 规范

Float16Array

添加了 Float16Array 类型化数组。写入 Float16Array 实例时,数值会舍入为 IEEE fp16。

跟踪 bug #42203953 | ChromeStatus.com 条目 | 规范

HSTS 跟踪防范

使用 HSTS 缓存来减少第三方跟踪用户的情况。

此功能仅允许对顶级导航进行 HSTS 升级,并阻止对子资源请求进行 HSTS 升级。这样一来,第三方网站就无法使用 HSTS 缓存来跨网站跟踪用户。

跟踪 bug #40725781 | ChromeStatus.com 条目

当导航由元素启动时(例如,通过链接点击或表单提交),NavigateEvent 上的 sourceElement 属性将成为启动元素。

跟踪 bug #40281924 | ChromeStatus.com 条目 | 规范

NotRestoredReasons API 原因名称更改

NotRestoredReasons API 将更改部分原因文本,以符合标准化名称。如果您在监控这些原因,可能会发现原因文字发生了变化。

跟踪 bug #331754704 | ChromeStatus.com 条目 | 规范

Observable API

可观察对象是一种常用的响应式编程范式,用于处理基于推送的异步事件流。它们可以被视为 Promise,但适用于多个事件,并且旨在执行 Promise 对回调和嵌套执行的操作。也就是说,它们通过提供表示事件异步流的 Observable 对象,实现了人性化的事件处理。

您可以订阅该对象,以便在有事件传入时接收事件,并调用其任何运算符或组合运算符,以声明方式描述事件要经过的转换流程。这与命令式版本形成鲜明对比,后者通常需要使用 addEventListener() 等内容进行复杂的嵌套。

跟踪 bug #1485981 | ChromeStatus.com 条目 | 规范

移除了将 setInterval(...) 钳位到大于等于 1 毫秒的操作

在 Chrome 135 之前,值小于 1 的 setInterval 会被强制修改为 1。从 Chrome 135 开始,此限制已被移除。

  • 之前setInterval(..., 0) = 1ms 延迟。
  • 之后setInterval(..., 0) = 0ms 延迟。

跟踪 bug #41380458 | ChromeStatus.com 条目

Service Worker 客户端网址会忽略 history.pushState() 更改

修改了服务工件 Client.url 属性,以使用 history.pushState() 和其他类似历史记录 API 忽略文档网址更改。 Client.url 属性应为 HTML 文档的创建网址,该网址会忽略此类更改。

跟踪 bug #41337436 | ChromeStatus.com 条目 | 规范

支持 SVGAElementrelrelList 属性

SVG 2.0 中的 SVGAElement 接口允许对 <a> 元素进行类似于 HTML 锚元素的操作。支持 relrelList 属性可增强开发者的安全性和隐私保护。

这种与 HTML 锚链接元素的一致性可确保在各种 Web 技术中实现一致性和易用性。

跟踪 bug #40589293 | ChromeStatus.com 条目 | 规范

RTC 编码帧的时间戳

此功能的运作方式是,向 Web 公开使用 RTCPeerConnection 传输的 WebRTC 编码帧中存在的一些时间戳。相关时间戳如下:

  • 捕获时间戳:帧最初被捕获的时间戳。
  • 接收时间戳:收到帧时的时间戳。

跟踪 bug #391114797 | ChromeStatus.com 条目 | 规范

更新了 CORS 重定向的 HTTP 请求标头、正文和引荐来源政策

更新 CORS 重定向的 HTTP 请求:如果方法已更改,请移除 request-body-headers 和正文,并更新引荐来源政策。这些请求更新符合 Fetch 规范,与 Firefox 和 Safari 实现的行为一致,以提高兼容性。

跟踪 bug #40686262 | ChromeStatus.com 条目 | 规范

fetchLater API

fetchLater() 是一个用于请求延迟提取的 JavaScript API。在文档中调用后,浏览器会将延迟请求加入队列,并将其设为 PENDING 状态,并会在满足以下条件中的最早条件时调用该请求:

  • 文件会被销毁。
  • 在用户指定的时间过后。出于隐私保护方面的原因,当文档进入 bfcache 时,所有待处理请求都会被刷新,无论剩余时间有多长。
  • 浏览器决定何时发送。

该 API 会返回一个 FetchLaterResult,其中包含一个可更新的布尔字段“activated”,用于指示推迟的请求是否已发出。成功发送后,浏览器会忽略整个响应,包括正文和标头。由于网页可能已不存在,因此不应处理或更新任何内容。

请注意,从 API 用户的角度来看,确切的发送时间是未知的。

跟踪 bug #1465781 | ChromeStatus.com 条目 | 规范

highlightsFromPoint API

借助 highlightsFromPoint API,开发者可以通过检测文档中特定位置存在哪些突出显示内容来与自定义突出显示内容进行交互。对于复杂的 Web 地图项(其中多个亮点可能会重叠或存在于阴影 DOM 中),这种交互性非常有用。通过提供基于点的精确突出显示检测功能,该 API 可让开发者更有效地管理与自定义突出显示的动态互动,例如响应突出显示区域上的用户点击或悬停事件,以触发自定义提示、上下文菜单或其他交互功能。

跟踪 bug #365046212 | ChromeStatus.com 条目 | 规范

源试用

设备绑定会话凭据

一种网站将会话安全地绑定到单个设备的方式。

它可让服务器将会话安全地绑定到设备。浏览器会根据服务器的要求定期续订会话,并提供私钥所有权证明。

Origin Trial | ChromeStatus.com 条目 | 规范

兴趣调用方

此功能会向 <button><a> 元素添加 interesttarget 属性。interesttarget 属性会向元素添加“兴趣”行为,以便在用户对元素“表现出兴趣”时,在目标元素上触发操作。操作可以包括显示弹出式窗口等操作。用户代理将负责检测用户何时“对元素表现出兴趣”,例如,当用户使用鼠标将光标悬停在元素上、按键盘上的特殊热键或在触摸屏上长按元素时。当用户表现出兴趣或失去兴趣时,系统会对目标触发 InterestEvent,对于弹出式窗口,系统会执行默认操作 - 显示和隐藏弹出式窗口。

Origin Trial | 跟踪 bug #326681249 | ChromeStatus.com 条目 | 规范

基于签名的完整性

此功能为 Web 开发者提供了一种机制来验证其依赖的资源的来源,为对网站依赖项的信任奠定了技术基础。简而言之:服务器可以使用 Ed25519 密钥对对响应进行签名,Web 开发者可以要求用户代理使用特定公钥验证签名。这不仅是对内容安全政策提供的基于网址的检查的有益补充,也是对子资源完整性提供的基于内容的检查的有益补充。

Origin Trial | 跟踪 bug #375224898 | ChromeStatus.com 条目 | 规范

推测规则:target_hint 字段

这扩展了推测规则语法,以允许开发者指定 target_hint 字段。

此字段提供一个提示,用于指明最终将激活预渲染网页的目标可导航项。例如,如果将 _blank 指定为提示,系统可以为通过 window.open() 打开的可导航网页激活预渲染的网页。此字段对预提取没有影响。

规范允许此字段接受任何可用作可导航目标名称或关键字的有效字符串作为值,但此版本仅支持 "_self""_blank" 字符串之一。如果未指定提示,则系统会将其视为指定了 "_self"

Origin Trial | 跟踪 bug #40234240 | ChromeStatus.com 条目 | 规范

废弃和移除

移除了已废弃的 navigator.xr.supportsSession 方法

在收到 TAG 关于 API 形状的反馈后,我们于 2019 年 9 月在 WebXR 规范中将 navigator.xr.supportsSession 方法替换成了 navigator.xr.isSessionSupported 方法。自那时起,该 API 在 Chromium 中已被标记为已废弃,并会生成一个控制台警告,将开发者重定向到更新后的 API。

该调用的使用率非常低,并且用于构建 WebXR 内容的所有主要框架都已确认已更新为使用较新的调用。

ChromeStatus.com 条目 | 规范

移除了 WebGPU 限制 maxInterStageShaderComponents

我们之所以移除 maxInterStageShaderComponents 限制,是因为多种因素综合作用的结果:

  • maxInterStageShaderVariables 重复:此限制已经用于类似目的,即控制着着色器阶段之间传递的数据量。
  • 存在细微差异:虽然这两项限制的计算方式略有不同,但这些差异很小,并且可以在 maxInterStageShaderVariables 限制范围内有效管理。
  • 简化:移除 maxInterStageShaderComponents 可简化着色器接口,并降低开发者的复杂性。这样,他们无需管理两个单独的限制(这两个限制同时适用,但存在细微差异),而是可以专注于更恰当且更全面的 maxInterStageShaderVariables

跟踪 bug #364338810 | ChromeStatus.com 条目 | 规范