Chrome 126

稳定版发布日期:2024 年 6 月 11 日

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

CSS

同源导航的跨文档视图转换

以前,您必须将网站重新设计为 SPA,才能使用 View Transitions API。现在,情况不再如此。现在,同源导航默认启用视图过渡。您可以在源相同的两个不同文档之间创建视图过渡。

如需启用跨文档视图过渡,两端都需要选择启用。为此,请使用 @view-transition at 规则,并将 navigation 描述符设置为 auto

@view-transition {
  navigation: auto;
}

跨文档视图转换使用与同文档视图转换相同的构建块和原则。系统会捕获应用了 view-transition-name 的元素,您可以使用 CSS 动画来自定义动画。

使用 View Transition API 实现流畅过渡 | 跟踪错误 #1372584 | ChromeStatus.com 条目 | 规范

Web API

Gamepad API Trigger-Rumble 扩展程序

扩展 GamepadHapticActuator 接口,以在网络上为兼容的游戏手柄提供触发器重播功能。此扩展程序允许利用 Gamepad API 的 Web 应用同时振动配备此功能的游戏手柄设备的触发器。

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

ChromeOS 标签页式 Web 应用

独立窗口中的 PWA 一次只能打开一个页面。某些应用希望用户一次打开多个页面。标签页模式会为 ChromeOS 中的独立 Web 应用添加一个标签页栏,以便同时打开多个标签页。

该功能添加了新的显示模式 "tabbed" 和新的清单字段,以允许对标签栏进行自定义。

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

GeolocationCoordinatesGeolocationPositiontoJSON() 方法

GeolocationCoordinatesGeolocationPosition 接口添加了 .toJSON() 方法。这支持使用 JSON.stringify() 对这些对象进行序列化。

ChromeStatus.com 条目

WebGLObject Web IDL 超级接口

此功能会在提供 WebGL API 的相同上下文(在主线程和工作器上)公开 WebGLObject 类型。

ChromeStatus.com 条目 | 规范

重新启用 CloseWatcher API 并关闭针对 <dialog>popover="" 的请求

CloseWatcher API 允许以统一的方式处理关闭请求,例如桌面平台上的 ESC 键或者 Android 上的返回手势或按钮。此功能最初在 Chrome 120 中提供,但由于<dialog> 的意外交互而被停用。我们对 Chrome 126 的行为做出了一些改进,以最大限度地减少在该版本中出现的问题,之后已在 Chrome 126 中重新启用该 API。

演示 | 跟踪 bug #1171318 | ChromeStatus.com 条目

Attribution Reporting API:针对 attributionsrc 请求的引荐来源网址政策

系统会将 attributionsrc 请求视为网页上的其他子资源。

以前,通过将 attributionsrc 属性用作各种 HTML 元素(例如 <img><script><a>window.open)的一部分来调用该 API 时,系统会忽略 <html> 元素上设置的资源级引荐来源网址政策属性。

进行这项更改后,attributionsrc 请求现在将应用 <img><script><a>window.open 中设置的资源级引荐来源网址政策。

这样一来,广告技术平台就可以更好地控制是否对其 attributionsrc 请求的引荐来源网址信息施加限制。

ChromeStatus.com 条目

媒体

对 MediaRecorder 的 MP4 容器支持

通过 MediaRecorder 添加了对在 MP4 容器中进行音频和视频多路复用的支持。

MediaRecorder | ChromeStatus.com 条目 | 规范

OpusEncoderConfig signalapplication 参数

OpusEncoderConfig.signalOpusEncoderConfig.application 参数会直接映射到特定于实现的编码器旋钮。通过这些变量,网页作者可以提供相关提示,说明正在编码的数据类型以及使用数据的上下文。

signal 可以是 "auto""music""voice" 中的一个。它会配置编码器,以便在对指定类型的数据进行编码时实现最佳性能。application 可以是 "voip""audio""lowdelay" 中的一个。它会将编码器配置为有利于语音清晰度、真实再现原始输入,或将延迟时间缩至最短。

ChromeStatus.com 条目 | 规范

JavaScript

visualViewport onscrollend 支持

会触发 scrollend JavaScript 事件,以指示滚动操作已结束。

visualViewport 接口包含一个 onscrollend 事件处理脚本,当 visualViewport 上的滚动操作结束时,应调用该处理脚本。Chrome 已支持通过 visualViewport.addEventListener("scrollend") 添加滚动结束事件监听器。这样就可以同时使用 visualViewport.onscrollend 添加事件监听器。

跟踪 bug #325307785 | ChromeStatus.com 条目

隐私权

使 navigator.cookieEnabled 与规范保持一致

navigator.cookieEnabled 目前用于指明在给定上下文中是否“用户代理尝试处理 Cookie”。Chrome 的一项更改是作为第三方 Cookie 弃用 (3PCD) 的一部分提供的,它会指示是否可以访问未分区的 Cookie(导致在大多数跨网站 iframe 中返回 false)。我们应该恢复 navigator.cookieEnabled 的先前行为(仅当为网站启用或停用 Cookie 时才会指明),并依赖跨供应商函数 document.hasStorageAccess 来指明是否可以访问未分区 Cookie。

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

无障碍

对 Windows 上的界面自动化无障碍框架的支持

Microsoft Windows 上的现代辅助应用使用平台的界面自动化无障碍框架与其他应用的界面进行互操作。在此之前,Chromium 一直支持旧版的 Microsoft Active Accessibility (MSAA) 和 IAccessible2 (IA2) 框架来实现上述目的,这导致 Windows 上的无障碍工具出现问题。

为了解决这个问题,Microsoft 与 Chrome 团队合作,直接在 Windows 上为界面自动化 (UIA) 框架提供支持,让无障碍工具能够更轻松地与浏览器进行通信。我们将从 Chrome 126 版开始,逐步推出稳定版。这将使 Voice Access 在所有基于 Chromium 的浏览器中都能运行,并改善所有基于 UIA 的无障碍工具(例如 Narrator 和 Magnifier)的用户体验。

在 Windows 上新增 UIA 支持

新的源试用

使用 FedCM 作为 Storage Access API 的信任信号

协调 FedCM 和 Storage Access API,让之前的 FedCM 提供自动批准存储空间访问请求的正当理由。

当用户授权将其身份与依赖方 (RP) 上的第三方身份提供商 (IdP) 配合使用时,许多 IdP 都需要第三方 Cookie 才能正确、安全地运行。此方案旨在通过更新 Storage Access API (SAA) 权限检查,使系统不仅接受存储访问提示授予的权限,还接受 FedCM 提示符授予的权限,从而以私密且安全的方式满足该要求。

此机制的一个关键特性是,仅向 RP 通过 FedCM 权限政策明确允许的情况授予权限,对 RP 强制执行每帧控制,并防止 IdP 进行被动监控,超出 FedCM 已授予的权限。

源试用 | 说明文档 | ChromeStatus.com 条目

选择停用媒体预览

此反向源试用会将网站排除在媒体预览功能发布范围之外。

在网站请求摄像头和麦克风使用权限时,Chrome 会提供摄像头和麦克风输入的实时预览。也可从网站的 pageinfo 获取这些信息。

此外,拥有多台设备的用户能够在请求权限时选择摄像头和麦克风,除非网站通过 getUserMedia() 请求访问特定设备。

源试用 | 跟踪 bug #330762482 | ChromeStatus.com 条目

FedCM:Continuation API、Parameters API、Fields API、多个 config网址、自定义账号标签

开发者可以开始参与一系列桌面 FedCM 功能(可能包括授权)的源试用。该软件包包含 FedCM Continuation API、参数 API、Fields API、多个 config网址 和自定义帐号标签。这样可以实现类似于 OAuth 授权流程的体验,涉及到 IdP 提供的权限对话框。

跟踪 bug #40262526 | ChromeStatus.com 条目

页面嵌入权限控制

提供与权限流程交互的新 HTML 元素。

目前,权限提示是直接从 JavaScript 触发,而用户代理还没有发出任何明显的用户意图信号。如果包含用户用于触发权限流程的内容内元素,则可以改善用户的权限提示用户体验,并为网站提供从“拒绝”权限状态恢复的路径。

ChromeStatus.com 条目

弃用和移除

弃用并移除导入断言“assert”语法

弃用并移除 assert 关键字,改用导入属性语法中的新 with 关键字。

也就是说,import m from 'foo' assert { type: 'json' } 现在会抛出 SyntaxError,并且开发者必须更改为 import m from 'foo' with { type: 'json' }

ChromeStatus.com 条目 | 规范

深入阅读

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

下载 Google Chrome

下载 Android 版、桌面版iOS 版 Chrome。