Chrome 132

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

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

HTML 和 DOM

针对非活动文档中的弹出式窗口和对话框抛出异常

以前,对位于非活动文档中的弹出式窗口或对话框调用 showPopover()showModal() 会静默失败。系统不会抛出任何异常,但由于文档处于非活动状态,因此不会显示任何弹出式窗口或对话框。从 Chrome 132 开始,这些情况现在会抛出 InvalidStateError

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

对话框切换事件

了解 <dialog> 元素何时打开和关闭非常有用,并且 popover 已包含在 popover 打开或关闭时分派的 ToggleEvent。以前,若要检测 <dialog> 何时打开,您必须注册一个更改观察器来检查是否已打开,但这需要完成大量工作,而使用事件会更简单。

此更改采用了与弹出式窗口分派的 ToggleEvent 相同的 ToggleEvent,但适用于 <dialog> 元素:调用 showModalshow 时,<dialog> 会使用 newState=open 分派 ToggleEvent。关闭 <dialog>(使用表单、按钮或 closewatcher)时,它应使用 newState=closed 调度 ToggleEvent

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

修复了 Shadow DOM 中的选择 isCollapsed

只有当锚点和焦点相同时,Selection isCollapsed 才应返回 true。无论选择是从光照树还是阴影树开始或结束,都应为 true。

演示 | 跟踪 bug #40400558 | ChromeStatus.com 条目 | 规范

CSS

CSS 锚点定位:允许在 insetmargin 属性中使用 anchor-size()

最初,anchor-size() 仅适用于尺寸属性。更改了规范,以允许在内嵌和边距中使用 anchor-size()

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

CSS 横向书写模式

支持为 writing-mode CSS 属性使用 sideways-rlsideways-lr 关键字。sideways-rlsideways-lr 有助于垂直写入非 CJK 文本。它们不像 vertical-rlvertical-lr 那样对 CJK 语言有益。

MDN writing-mode | 跟踪 bug #40501131 | ChromeStatus.com 条目 | 规范

正在加载

提取:Request.bytes()Response.bytes()

RequestResponse 接口添加了 bytes() 方法,该方法会返回一个使用 Uint8Array 解析的 Promise。虽然 RequestResponse 具有 arrayBuffer() 方法,但您无法直接从缓冲区读取。您必须创建一个视图(例如 Uint8Array)才能读取它。bytes() 方法改进了获取请求和响应正文的人体工学。

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

忽略 localhost 的 Strict-Transport-Security

Strict-Transport-Security (STS) 响应标头可能会导致本地主机网站服务器出现问题,因为 STS 会在所有端口上应用于整个主机。这会给在本地进行测试的 Web 开发者带来兼容性问题。这也影响了使用通常出于暂时性原因启动 localhost 网络服务器的软件包的最终用户。例如,从 Web 登录到本地软件包的身份验证令牌通信。如果一个本地监听器在 localhost 响应中设置了 Strict-Transport-Security,则无论端口如何,它都会应用于所有后续的 localhost 请求。

Chrome 132 通过忽略来自 localhost 网址的响应的 Strict-Transport-Security 标头来解决此问题。

跟踪 bug #41251622 | ChromeStatus.com 条目

媒体

截取所有屏幕

使用 getAllScreensMedia() 截取连接到设备的所有屏幕。

多次调用 getDisplayMedia() 需要用户执行多次手势,会给用户带来每次选择下一个屏幕的负担,并且无法向应用保证已选择所有屏幕。getAllScreensMedia() 方法在所有这些方面都进行了改进。

此功能仅适用于桌面设备。

设计文档 | 跟踪 bug #40216442 | ChromeStatus.com 条目 | 规范

Element Capture

假设通过现有方法获取了用于启动标签页截取的视频 MediaStreamTrack元素截取允许更改轨道,以便仅截取从给定元素开始的 DOM 的子树。

该 API 与 Region Capture API 有些相似,但可为应用提供更大的灵活性,因为遮挡内容和被遮挡的内容都会从捕获内容中排除。

演示版 | 跟踪 bug #270230413 | ChromeStatus.com 条目 | 规范

Web API

PushMessageData::bytes()

PushMessageData 接口模仿了 Body 接口,该接口在今年早些时候通过新的 bytes() 方法进行了修改,遵循了以下原则:API 通常应以 Uint8Arrays 的形式出售字节缓冲区。Chrome 132 还在 PushMessageData 接口上提供了 bytes() 访问器,从而与 Body 接口保持一致。

MDN PushMessageData: bytes() 方法 | 跟踪 bug #373336950 | ChromeStatus.com 条目 | 规范

可通过键盘聚焦的滚动容器

由于无障碍功能出现回归问题,我们已停止推出此功能(从 Chrome 130 开始)。此问题已得到修复,该功能将继续在 Chrome 132 中推出。

可通过键盘聚焦的滚动条 | 跟踪 bug #40113891 | ChromeStatus.com 条目 | 规范

Device Posture API

此 API 可帮助开发者检测可折叠设备的当前折叠状态。设备折叠状态是指设备的实际折叠状态,除了角度之外,还可以从传感器中推断出来。

从避免折叠区域来提升网站易用性,到实现 Web 的创新用例,了解设备折叠状态有助于开发者根据不同的设备量身定制内容。

即使设备处于非平放状态,用户也可以使用和浏览内容,在这种情况下,开发者可能需要根据设备的使用折叠状态为其提供不同的布局。

Git 代码库 | 跟踪 bug #40124716 | ChromeStatus.com 条目 | 规范

sharedStorage.selectURL 中的已保存查询

sharedStorage.selectURL() 现在允许按网页保存和重复使用查询,其中系统会在首次运行已保存的查询时扣除两个网页加载预算,但不会在同一网页加载期间对后续运行的已保存查询扣除预算。为此,您可以在用于为查询命名的 selectURL() 的选项中使用 savedQuery 参数。

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

Private State Tokens API 权限政策默认许可名单通配符

对 Private State Token API 的访问权限受权限政策功能的控制。Chrome 132 将 private-state-token-issuanceprivate-state-token-redemption 功能的默认许可名单从 self 更新为 *(通配符)。

ChromeStatus.com 条目 | 规范

FedCM Mode API 和 Use Other Account API

为 FedCM 添加了两个新扩展程序:

  • 模式active 模式允许网站在用户点击按钮(例如点击登录身份提供方按钮)时调用 FedCM,这要求 FedCM 保证始终以可见的界面进行响应。在活跃模式下调用 FedCM API 会在用户退出账号时将用户引导至身份提供方 (IdP) 进行登录。此外,由于是在显式用户手势中调用活动模式,因此与被动模式(无需用户手势要求,可在网页加载时调用)的界面相比,活动模式的界面也更醒目(例如,居中显示和模态)。
  • 使用其他账号:借助此扩展程序,IdP 可以允许用户登录其他账号。

演示版 | 跟踪 bug #370694829 | ChromeStatus.com 条目 | 规范

Android 和 WebView 的文件系统访问权限

借助此 API,开发者可以构建强大的应用,这些应用可使用用户设备的文件系统与用户设备上的其他(非 Web)应用进行互动。用户向 Web 应用授予访问权限后,此 API 让应用可以直接读取用户选择的文件和文件夹内容,或者保存对这些内容的更改。除了读取和写入文件之外,此 API 还支持打开目录并枚举其内容,以及在 IndexedDB 中存储文件和目录句柄,以便日后重新获得对同一内容的访问权限。

文件系统访问权限在 Chrome 86 中面向桌面版发布,在 Chrome 132 中面向 Android 和 WebView 发布。

文件系统访问 API | 跟踪 bug #40091667 | ChromeStatus.com 条目 | 规范

WebAuthn Signal API

允许 WebAuthn 依赖方将有关现有凭据的信息发回给凭据存储提供程序,以便更新或从提供程序和系统界面中移除不正确或已撤消的凭据。

详细了解适用于 Chrome 桌面版通行密钥的 Signal API

演示 | 跟踪 bug #361751877 | ChromeStatus.com 条目 | 规范

渲染和图形

WebGPU:32 位浮点纹理混合

float32-blendable GPU 功能可让格式为 r32floatrg32floatrgba32float 的 GPU 纹理可混合。

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

WebGPU:公开 GPUDevice 中的 GPUAdapterInfo

GPUDevice adapterInfo 属性会公开与 GPUAdapter 对象相同的 GPUAdapterInfo

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

WebGPU:纹理视图使用情况

向 WebGPU 纹理视图创建添加了一个可选字段,以请求从源纹理中请求一部分用法标志。

默认情况下,纹理视图用法会从源纹理继承,但有些视图格式可能与完整的继承用法不兼容。通过在创建纹理视图时添加使用情形字段,用户可以请求源纹理使用情形的子集,这些使用情形与视图格式有效且特定于纹理视图的预期用途。

WebGPU 实现还可以优化低级资源的创建,并在使用具有更专用使用标志的视图时提高性能。

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

来源试用

使用魔法注释提供显式编译提示

借助此功能,您可以附加有关应在 JavaScript 文件中提前解析和编译哪些函数的信息。这些信息将编码为魔法注释。

Origin Trial | 说明 | 跟踪 bug #42203853 | ChromeStatus.com 条目

Document-Isolation-Policy

Document-Isolation-Policy 允许文档为自身启用 crossOriginIsolation,而无需部署 COOP 或 COEP,并且无论网页的 crossOriginIsolation 状态如何。该政策由进程隔离机制支持。此外,文档的非 CORS 跨源子资源在加载时将不带凭据,或者需要带有 CORP 标头。

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

弃用和移除

navigator.storage 被用作存储压力事件的 EventTarget,但从未过渡到原型阶段。系统会移除此死代码,因此 navigator.storage 将不再扩展 EventTarget

ChromeStatus.com 条目 | 规范

移除了带前缀的 HTMLVideoElement 全屏 API

Chrome 已废弃带前缀的 HTMLVideoElement 全屏 API。

它们已被 Element.requestFullscreen() API 取代,该 API 于 2018 年首次在 Chrome 71 中以不带前缀的形式发布。截至 2024 年,大多数浏览器已经支持无前缀 API 好几年了。

Chrome 132 从 HTMLVideoElement 中移除了以下内容:

  • webkitSupportsFullscreen 属性。
  • webkitDisplayingFullscreen 属性。
  • webkitEnterFullscreen() 方法。
  • webkitExitFullscreen() 方法。请注意,FullScreen 中的“S”采用了不同的大小写形式。
  • webkitEnterFullScreen() 方法。
  • webkitExitFullScreen() 方法。

这些方法现在仅是新版 API 的别名。这些功能的使用量多年来一直在稳步下降。

ChromeStatus.com 条目

深入阅读

希望了解更多信息?请查看以下其他资源。

下载 Google Chrome

下载适用于 Android桌面设备iOS 的 Chrome。