Chrome 141

稳定版发布日期:2025 年 9 月 30 日

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

CSS

getComputedStyle() 中的自定义属性枚举

在 Chrome 中迭代 window.getComputedStyle(element) 时,存在一个 bug,即忘记包含元素上设置的任何自定义属性。因此,返回的对象上的 length() 未能考虑设置的自定义属性数量。此 bug 已在 Chrome 141 中修复,使 Chrome 与 Firefox 和 Safari 保持一致。

ChromeStatus.com 条目 | 规范

DOM

ARIA Notify API

ariaNotify 提供了一个 JavaScript API,内容作者可以通过该 API 告知屏幕阅读器要读的内容。

与 ARIA 实时区域相比,ariaNotify 提高了可靠性和开发者控制能力,允许宣布与 DOM 更新无关的更改。这有助于在动态 Web 应用中实现更一致、更符合人体工程学的无障碍体验。可以使用 "aria-notify" 权限政策控制此功能的 iframe 使用情况。

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

更新 hidden=until-found 和详细信息祖先显示算法

该规范最近对 hidden=until-found 和 details 元素的显示算法进行了一些小更改,以防止浏览器陷入无限循环,这些更改现已在 Chrome 中发布。

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

JavaScript

统一了有关何时应创建 RTP 统计信息的实现

RTP 统计信息对象(在本例中为“outbound-rtp”或“inbound-rtp”类型)表示 WebRTC 流。相应流的标识符是 SSRC(一个数字)。此功能符合有关何时应创建这些统计数据的规范。

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

媒体

支持 restrictOwnAudio

restrictOwnAudio 属性是可限制的捕获显示界面属性。它会更改捕获的显示界面中系统音频的行为。 仅当捕获的显示界面本身包含系统音频时,restrictOwnAudio 限制才会生效;否则,它不会产生任何影响。

ChromeStatus.com 条目 | 规范

getDisplayMedia()windowAudio

使用 windowAudio 选项扩展了 DisplayMediaStreamOptions 以支持 getDisplayMedia()。借助此新选项,Web 应用可以向用户代理提示,在选择窗口时是否应向用户提供共享音频的功能。windowAudio 可以根据应用偏好设置排除、系统或窗口。

如果某个 Web 应用已配置为捕获音频,但希望在选择窗口时限制系统音频捕获,则应设置 windowAudio: "exclude"

ChromeStatus.com 条目 | 规范

其他

支持将 widthheight 用作嵌套 <svg> 元素上的展示属性

此功能支持通过 SVG 标记和 CSS 将 widthheight 应用为嵌套 <svg> 元素上的展示属性。这种双重方法为开发者提供了更大的灵活性,使他们能够在复杂的设计中更高效地管理和设置 SVG 元素的样式。

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

Digital Credentials API(演示支持)

网站使用各种机制(例如自定义网址处理程序和二维码扫描)从移动钱包应用中检索凭据。此功能可让网站使用 Android 的 IdentityCredential CredMan 系统从钱包请求身份信息。它可扩展,支持多种凭据格式(例如 ISO mDoc 和 W3C 可验证凭据),并允许使用多个钱包应用。此更新添加了相关机制,有助于降低大规模滥用现实世界身份的风险。

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

通常,当调用 navigateEvent.intercept() 时,拦截的导航会在 NavigateEvent 完成调度后立即提交(因此网址也会更新)。

此功能向 navigateEvent.intercept() 添加了 precommitHandler 选项,类似于 handler。它会延迟提交,直到该处理程序(以及所有其他预提交处理程序)得到解决,并且允许处理程序更改导航的网址、信息、状态和历史记录处理行为(推送/替换)。

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

FedCM:账号选择中的替代字段

除了用户的全名和电子邮件地址之外,还支持使用电话号码和用户名作为标识符,以便在账号选择器中区分账号。此外,还使这些新字段可供网站用于影响披露声明文本。

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

网络 / 连接

对 HTTP 磁盘缓存的 No-Vary-Search 支持

允许 HTTP 磁盘缓存使用 No-Vary-Search 响应标头在仅查询参数不同的网址之间共享缓存条目。

开发者可以使用 No-Vary-Search 指定对用户体验没有影响的查询参数。一个常见的示例可能是用于跟踪转化的 ID。在 HTTP 磁盘缓存中支持此标头意味着,如果用户稍后在没有转化 ID 的情况下返回到同一网页,则可以从缓存中使用或重新验证该网页,而无需从网络中重新获取。

之前,No-Vary-Search 支持已随导航预取缓存、预取和预渲染推测规则以及预渲染一起发布。此次发布使该功能可供使用 HTTP 磁盘缓存的任何功能普遍使用。

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

离线 / 存储

IndexedDB getAllRecords()getAll()getAllKeys() 的方向选项

此功能向 IndexedDB IDBObjectStore 和 IDBIndex 添加了 getAllRecords() 方法。此外,还向 getAll()getAllKeys() 添加了方向参数。与使用游标进行迭代的现有替代方案相比,此功能可显著加快某些读取模式的速度。在一项测试中,来自 Microsoft 媒体资源的工作负载显示性能提升了 350 毫秒。

getAllRecords() 方法通过同时枚举主键和值来组合 getAllKeys()getAll()。对于 IDBIndex,getAllRecords() 除了提供主键和值之外,还提供记录的索引键。

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

性能

推测规则:桌面设备“紧急”急切程度改进

在桌面设备上,“急切”急切度推测规则现在会在用户悬停在链接上的时间短于“中等”鼠标悬停时间时触发预提取和预渲染。

之前尽快开始预提取和预渲染的行为与“立即”热切度相同。这种新行为更有用,因为它能更好地反映作者的意图,即比“中等”更急切,但比“立即”更不急切。

ChromeStatus.com 条目 | 规范

安全

Storage Access API 的严格同源政策

调整 Storage Access API 语义,以严格遵循有关安全性的同源政策。也就是说,在框架中使用 document.requestStorageAccess() 默认只会将 Cookie 附加到对 iframe 源(而非网站)的请求。

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

基于签名的完整性

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

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

WebRTC

WebRTC 编码转换 (V2)

此 API 允许处理流经 RTCPeerConnection 的编码媒体。Chrome 于 2020 年发布了此 API 的早期版本。自那时起,规范发生了变化,其他浏览器也发布了更新版本(Safari 在 2022 年,Firefox 在 2023 年)。此次发布使 Chrome 符合更新后的规范,这是 Interop 2025 的一部分。

此次发布不包括仍在讨论中的 generateKeyFrame method

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

getUserMedia()echoCancellationMode

扩展了 MediaTrackConstraints 字典的 echoCancellation 行为。它之前接受 truefalse,现在还接受值 "all""remote-only"。这样一来,客户端便可修改应用于从麦克风接收的音轨的回声消除行为,从而控制从麦克风信号中移除多少用户系统播放内容(全部或仅从 PeerConnections 接收的音频)。

ChromeStatus.com 条目 | 规范

仅限受管理的 ChromeOS

Device Attributes API 的权限政策

新的权限政策可用于限制对设备属性 API 的访问权限,该 API 仅适用于政策安装的自助服务终端 Web 应用和政策安装的独立式 Web 应用,且仅在受管理的 ChromeOS 设备上可用。

此外,该功能还受内容设置控制。我们推出了两项新政策:DeviceAttributesBlockedForOriginsDefaultDeviceAttributesSetting,以补充之前推出的 DeviceAttributesAllowedForOrigins。对于受管理的 ChromeOS 设备上通过政策安装的自助服务终端 Web 应用和通过政策安装的独立式 Web 应用 (IWA),此功能默认处于启用状态。

ChromeStatus.com 条目 | 规范

源试用

本地网络访问限制

Chrome 141 限制了向用户本地网络发出请求的能力,并将其置于权限提示之后。

此源试用暂时允许从不安全的上下文访问本地网络上的资源。这样一来,开发者就有更多时间将本地网络访问权限请求迁移到安全环境中。

源试用 | 跟踪 bug #394009026 | ChromeStatus.com 条目 | 规范

Proofreader API

一个 JavaScript API,用于校对输入文本并提供建议的更正,由 AI 语言模型提供支持。

源试用 | 跟踪 bug #403313556 | ChromeStatus.com 条目 | 规范

扩展 CSP script-src(也称为 script-src-v2

此功能为 script-src 内容安全政策 (CSP) 指令添加了新关键字。这新增了两种基于哈希的许可名单机制:基于网址和 eval() 及类似 eval() 函数的内容的哈希的脚本来源。此功能有时称为 script-src-v2,但它与现有的 script-src 向后兼容,并使用相同的指令。

通过扩展哈希以涵盖网址和 eval() 哈希,开发者可以根据哈希窄范围地允许脚本,从而设置相当严格的安全政策,即使脚本内容经常发生变化,也可以实现此目的,并且可以允许使用 eval() 的已知安全内容,而不会广泛允许未经检查的 eval() 使用。

如果提供了新关键字,则会替换基于主机的 script-src。这样一来,单个标头便可同时兼容实现或未实现新关键字的浏览器。

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

WebAssembly 自定义描述符

使 WebAssembly 能够在新的“自定义描述符”对象中更高效地存储与源级类型相关联的数据。这些自定义描述符可以通过相应来源级类型的 WebAssembly 对象的原型进行配置。这样,您就可以在 WebAssembly 对象的原型链上安装方法,并使用常规方法调用语法直接从 JavaScript 调用这些方法。可以使用导入的内置函数以声明方式配置原型和方法。

源试用 | ChromeStatus.com 条目 | 规范

弃用和移除

停止从预提取和预渲染中发送 Purpose: prefetch 标头

现在,预提取和预渲染使用 Sec-Purpose 标头进行预提取和预渲染,我们将移除目前仍在传递的旧版 Purpose: prefetch 标头。这将位于功能标志/ 终止开关后面,以防止出现兼容性问题。

这将限定于推测规则预取、推测规则预渲染、 和 Chromium 的非标准

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