Chrome 124

除非另有说明,否则以下变更适用于适用于 Android、ChromeOS、Linux、macOS 和 Windows 的 Chrome 124 稳定版。如需详细了解此处列出的功能,请通过所提供的链接或 ChromeStatus.com 上的列表详细了解。Chrome 124 自 2024 年 4 月 16 日起已稳定。您可以从 Google.com(桌面版)或 Google Play 商店(Android 版)下载最新版本。

只想要精彩集锦?请参阅 Chrome 124 中的新功能

浏览器变更和开发者工具

通用安装

使任何页面均可安装,即使页面不符合当前 PWA 可安装性标准也是如此。

支持键盘聚焦的滚动容器

通过使用顺序焦点导航使滚动容器可聚焦,改进了无障碍功能。在此变更之前,除非 tabIndex 明确设置为 0 或更大值,否则 Tab 键不会聚焦滚动条。

将滚动条默认设置为可聚焦后,无法(或不想)使用鼠标的用户将可以使用键盘的 Tab 键和箭头键聚焦于剪辑的内容。仅当滚动条不含任何键盘可聚焦的子项时,系统才会启用此行为。

从 Chrome 124 开始,此功能将逐步推出,在 Chrome 125 之前将可供所有用户使用。

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

Web MIDI API 的权限提示

此功能通过权限提示控制对 Web MIDI API 的访问。以前,若要将 SysEx 消息与 Web MIDI API 搭配使用,需要获得明确的用户权限。从 Chrome 125 起,对 Web MIDI API 的所有访问都需要用户权限。

从 Chrome 124 开始,此功能将逐步推出,在 Chrome 125 之前将可供所有用户使用。

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

HTML 和 DOM

writingsuggestions 属性

当用户在网络上的各种可编辑字段中输入内容时,浏览器已经开始提供书写建议。虽然这对用户来说通常很有用,但在某些情况下,开发者可能需要关闭浏览器提供的撰写辅助功能,例如自行提供类似功能的扩展程序或网站。

新属性 writingsuggestions 的值为 truefalse,允许开发者开启或关闭浏览器提供的撰写建议。元素的属性状态也可以从祖先元素继承,从而使开发者能够按元素、每个文档或子文档的缩放比例控制此功能。

ChromeStatus.com 条目 | 规范

正在加载

Sec-CH-UA-外形规格客户端提示

此提示会向服务器提供有关用户代理设备规格的信息。它会返回以下一个或多个外形规格值:

  • 桌面设备:在个人计算机上运行的用户代理。
  • 汽车:嵌入车辆中的用户代理,用户可能负责操作车辆,但无法处理小细节。
  • 移动设备:通常随身携带的小型触摸设备。
  • 平板电脑:尺寸大于“移动设备”且面向触摸的设备,通常不随身携带。
  • XR:用于增强或替换用户周围环境的沉浸式设备。
  • EInk:一种设备,其特征为屏幕更新缓慢且色彩分辨率有限或无。
  • 手表:一种移动设备,其屏幕非常小(通常小于 2 英寸),这种移动设备的放置方式能让用户快速看清屏幕。

ChromeStatus.com 条目 | 规范

用于放宽混合内容的专用网络访问权限

为了与本地网络中因具有全局唯一名称而无法获得 TLS 证书的设备建立连接,此功能为 fetch() 引入了一个新选项,用于声明开发者与此类设备通信的意图。其中包括由政策控制的新功能(用于限制每个网站对此功能的访问权限),以及用于服务器预检响应的新标头(用于提供额外的元数据)。

ChromeStatus.com 条目 | 规范

priority HTTP 请求标头

这样会为所有 HTTP 请求添加 priority 请求标头,该请求标头包含在发送时请求的优先级信息。

RFC 9218(HTTP 可扩展优先级方案)定义了一个 priority HTTP 请求标头,该标头用于向源站(和中介机构)告知请求优先级。还为 HTTP/2 和 HTTP/3 定义了协商流程和协议级帧,以携带相同的优先级信息。

标头只能在首次请求资源时发出资源的初始优先级信号,而基于帧的机制允许在事后修改优先级。

当帧仅限于在链路级别运行时,标头可以端到端地与源服务器运行(并提供一种机制,如果中间能被中间方识别,源站可以替换优先级)。

此功能专门用于支持基于标头的优先级方案。

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

阻止文档呈现

借助此功能,作者可以阻止文档渲染,直到关键内容解析完毕,从而确保在所有浏览器中实现一致的首次绘制。如果没有此功能,首次绘制的状态取决于解析器生成的启发法,而该启发法可能因浏览器而异。

这对于视图过渡尤为重要,因为第一帧上已解析的 DOM 状态可能会显著改变所创建的过渡。

请注意,此功能实现的 <link rel=expect href="#id"> 语法允许 link 元素引用页面上的其他预期元素。然后,系统会阻止渲染,直到预期的元素完全解析为止。这会取代以前实现的 HTML 属性,后者可让整个文档阻塞渲染。

ChromeStatus.com 条目 | 规范

适用于 TLS 的 X25519Kyber768 密钥封装

通过部署 Kyber768 抗量子密钥协议算法,保护当前的 Chrome TLS 流量免受未来的量子密码分析的影响。

这是基于 IETF 标准的 X25519 和 Kyber768 密钥协议的混合版本。此规范和发布不在 W3C 的讨论范围之内。此密钥协议将作为 TLS 加密发布,并且应向用户公开。

使用 Hybrid Kyber KEM 保护 Chrome 流量 | 跟踪 bug 40910498 | ChromeStatus.com 条目 | 规范

媒体

jitterBufferTarget 个属性

jitterBufferTarget 属性允许应用指定 RTCRtpReceiver 抖动缓冲区保留的目标时长(以毫秒为单位)。这会影响用户代理执行的缓冲量,进而影响重新传输和丢包恢复。更改目标值可让应用控制播放延迟和因网络抖动而耗尽音频/视频帧的风险之间的权衡。

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

Web API

WebSocketStream API

WebSocket API 提供了 RFC6455 WebSocket 协议的 JavaScript 接口。虽然它的效果很好,但从人体工学的角度来看,它很尴尬,并且缺少背压的重要功能。WebSocketStream API 的目的是通过将 WHATWG Streams 与 WebSocket API 集成来解决这些缺陷。

WebSocketStream:将流与 WebSocket API 集成 | 跟踪错误 41470216 | ChromeStatus.com 条目 | 规范

setHTMLUnsafeparseHTMLUnsafe

setHTMLUnsafeparseHTMLUnsafe 方法支持从 JavaScript 使用声明式阴影 DOM。与 innerHTMLDOMParser 相比,这些方法还提供更简单的方法,以命令方式将 HTML 解析为 DOM。

ChromeStatus.com 条目 | 规范

Streams API:ReadableStream 异步迭代

流 API 为创建、组合和使用数据流提供了通用的可互操作基元。此更改增加了对 ReadableStream API 的异步可迭代协议的支持,使可读流能够用作 await...of 循环的来源。

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

pageswap 个事件

当导航将此文档替换为新文档时,系统会针对文档的 window 对象触发 pageswap 事件。该事件提供有关导航的激活信息(新文档的激活信息为 typeNavigationHistoryEntry)。

如果导航具有跨文档视图转换,则系统会在捕获旧文档的状态之前分派该事件。这样,开发者就可以根据导航的激活信息和旧文档的当前视觉状态,配置为转换捕获的旧状态。

跟踪 bug 41495176 | ChromeStatus.com 条目 | 规范

Attribution Reporting API 的新增内容

Attribution Reporting API 新增了一些功能,可通过支持解析失败调试报告来创建额外的调试功能;通过支持字段来指定首选注册平台来改进 API 工效学设计,以及加强隐私保护。

文档画中画:添加用于隐藏“返回标签页”按钮的选项

这会向 Document picture-in-picture API 添加一个新参数 (disallowReturnToOpener),该参数设置为 true 时,以提示浏览器不应在画中画窗口中显示允许用户返回“打开者”标签页的按钮。

虽然在视频画中画的情况下,设置返回“打开方式”标签页的按钮总是很有意义(视频串流可以返回到“打开方式”标签页中的视频元素),但对于文档画中画体验,并不总是如此。这样一来,当开发者确定此类按钮不适合他们的用例时,就可以更好地控制用户体验。

文档画中画 | ChromeStatus.com 条目 | 规范

渲染和图形

SVG context-fillcontext-stroke

实现一个现有的 SVG 功能,该功能在指定填充和描边属性时允许使用关键字 context-fillcontext-stroke。这只会影响使用 <use> 元素实例化的 SVG 子树,以及使用 <path> 元素上的 marker 属性实例化的 <marker> 元素。在这些情况下,context-fillcontext-stroke 会被解析为 <use><path> 上的 fillstroke 属性的值。

ChromeStatus.com 条目 | 规范

WebGPU:支持 ServiceWorker 和 SharedWorker

为 WebGPU 添加了 ServiceWorker 和 SharedWorker 支持,与现有的 WebGL 功能保持一致。

Service Worker 可为 WebGPU 实现离线功能和后台处理。这意味着,图形密集型 Web 应用或 Chrome 扩展程序可以缓存资源并执行计算,即使用户没有主动与页面互动也是如此。

共享工作器允许多个标签页或扩展程序上下文来协调和共享 WebGPU 资源。这样可以带来更流畅的性能和更高效地使用用户的图形硬件。

跟踪 bug 41494731 | ChromeStatus.com 条目 | 规范

正在进行源试用

在 Chrome 124 中,您可以选择启用以下新的源试用

对变更事件的弃用试验

变更事件(包括 DOMSubtreeModifiedDOMNodeInsertedDOMNodeRemovedDOMNodeRemovedFromDocumentDOMNodeInsertedIntoDocumentDOMCharacterDataModified)可能会损害网页性能,还会显著增加向 Web 添加新功能的复杂性。这些 API 已于 2011 年从规范中废弃,并在 2012 年被性能更好的 Mutation Observer API 取代。

自 2024 年 7 月 30 日前,从 Chrome 127 开始,将默认停用对变更事件的支持。代码应在该日期之前迁移到 Mutation Observer API,以避免网站损坏。如果需要更多时间,请注册变更事件弃用试用,以便在指定网站上限时重新启用相应功能。您可以通过 Chrome 134(截至 2025 年 3 月 25 日)使用该版本。

此外,在 Chrome 134 中,也可将 MutationEventsEnabled 企业政策用于相同目的。

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

弃用和移除

此版本的 Chrome 引入了以下弃用和移除操作。 请访问 ChromeStatus.com,查看弃用移除列表。

Chrome 124 中没有弃用或移除的内容。

深入阅读

希望了解更多信息?查看这些其他资源。