Chrome 124 Beta 版

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

CSS

此版本新增了两项 CSS 功能。

CSSImportRule.styleSheet

允许 CSSImportRule.styleSheet 可为 null。如果没有关联的 CSS 样式表,则 CSSImportRule 中的 styleSheet 属性可以为 null。

CSSKeyframesRule.length

公开 CSSKeyframesRulelength 属性。支持编入索引属性的接口必须定义一个名为 length 的整数类型属性。

HTML

此版本新增了两项 HTML 功能。

writingsuggestions 属性

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

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

支持键盘聚焦的滚动容器

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

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

从 Chrome 124 开始,此功能将逐步推出,在 Chrome 125 之前将可供所有用户使用。详细了解键盘可聚焦的滚动条

Web API

Attribution Reporting API 的新增内容

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

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

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

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

如需了解详情,请参阅文档画中画

阻止文档呈现

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

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

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

jitterBufferTarget 个属性

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

pageswap 个事件

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

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

priority HTTP 请求标头

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

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

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

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

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

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

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

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

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

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

setHTMLUnsafeparseHTMLUnsafe

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

Shared Storage API 更新

此更新增加了对运行跨源 Worklet 而不必创建 iframe 的支持。

Streams API:ReadableStream 异步迭代

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

SVG context-fillcontext-stroke

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

WebGPU:支持 ServiceWorker 和 SharedWorker

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

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

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

WebSocketStream API

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

如需了解详情,请参阅 WebSocketStream:将流与 WebSocket API 集成

适用于 TLS 的 X25519Kyber768 密钥封装

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

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

如需了解详情,请参阅使用 Hybrid Kyber KEM 保护 Chrome 流量

正在进行源试用

在 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 企业政策用于相同目的。

注册参加 Mutation 事件弃用试用

弃用和移除

此版本的 Chrome 引入了以下弃用和移除操作。 请访问 ChromeStatus.com,查看计划弃用、当前弃用和之前移除的内容列表。

此版本的 Chrome 移除了一项功能。

移除了权限和权限政策“window-management”的“window-placement”别名

移除了权限和权限政策“window-management”的“window-placement”别名。通过最终废弃并移除“window-placement”,我们对字符串进行了重命名,这项工作是其中的一项工作。随着 Window Management API 随时间的推移而不断发展,术语变化会提升描述符的持久性。