除非另有说明,否则以下变更适用于 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
公开 CSSKeyframesRule
的 length
属性。支持编入索引属性的接口必须定义一个名为 length
的整数类型属性。
HTML
此版本新增了两项 HTML 功能。
writingsuggestions
属性
当用户在网络上的各种可编辑字段中输入内容时,浏览器已经开始提供书写建议。虽然这对用户来说通常很有用,但在某些情况下,开发者可能需要关闭浏览器提供的撰写辅助功能,例如自行提供类似功能的扩展程序或网站。
新属性 writingsuggestions
的值为 true
或 false
,允许开发者开启或关闭浏览器提供的撰写建议。元素的属性状态也可以从祖先元素继承,从而允许开发者以每个元素、每个文档或子文档的比例控制此功能。
支持键盘聚焦的滚动容器
通过使用顺序焦点导航使滚动容器可聚焦,改进了无障碍功能。在此变更之前,除非 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
事件。该事件提供有关导航的激活信息(新文档的激活信息为 type
、NavigationHistoryEntry
)。
如果导航具有跨文档视图转换,则系统会在捕获旧文档的状态之前分派该事件。这样,开发者就可以根据导航的激活信息和旧文档的当前视觉状态,配置为转换捕获的旧状态。
priority
HTTP 请求标头
这样会为所有 HTTP 请求添加 priority
请求标头,该请求标头包含在发送时请求的优先级信息。
RFC 9218(HTTP 可扩展优先级方案)定义了一个 priority
HTTP 请求标头,该标头用于向源站(和中介机构)告知请求优先级。还为 HTTP/2 和 HTTP/3 定义了协商流程和协议级帧,以携带相同的优先级信息。
标头只能在首次请求资源时发出资源的初始优先级信号,而基于帧的机制允许在事后修改优先级。
当帧仅限于在链路级别运行时,标头可以端到端地与源服务器运行(并提供一种机制,如果中间能被中间方识别,源站可以替换优先级)。
此功能专门用于支持基于标头的优先级方案。
用于放宽混合内容的专用网络访问权限
为了与本地网络中因具有全局唯一名称而无法获得 TLS 证书的设备建立连接,此功能为 fetch()
引入了一个新选项,用于声明开发者与此类设备通信的意图。其中包括由政策控制的新功能(用于限制每个网站对此功能的访问权限),以及用于服务器预检响应的新标头(用于提供额外的元数据)。
Sec-CH-UA-外形规格客户端提示
此提示会向服务器提供有关用户代理设备规格的信息。它会返回以下一个或多个外形规格值:
- 桌面设备:在个人计算机上运行的用户代理。
- 汽车:嵌入车辆中的用户代理,用户可能负责操作车辆,但无法处理小细节。
- 移动设备:通常随身携带的小型触摸设备。
- 平板电脑:尺寸大于“移动设备”且面向触摸的设备,通常不随身携带。
- XR:用于增强或替换用户周围环境的沉浸式设备。
- EInk:一种设备,其特征为屏幕更新缓慢且色彩分辨率有限或无。
- 手表:一种移动设备,其屏幕非常小(通常小于 2 英寸),这种移动设备的放置方式能让用户快速看清屏幕。
setHTMLUnsafe
和parseHTMLUnsafe
setHTMLUnsafe
和 parseHTMLUnsafe
方法支持从 JavaScript 使用声明式阴影 DOM。与 innerHTML
或 DOMParser
相比,这些方法还提供更简单的方法,以命令方式将 HTML 解析为 DOM。
Shared Storage API 更新
此更新增加了对运行跨源 Worklet 而不必创建 iframe 的支持。
Streams API:ReadableStream 异步迭代
流 API 为创建、组合和使用数据流提供了通用的可互操作基元。此更改增加了对 ReadableStream API 的异步可迭代协议的支持,使可读流能够用作 await...of
循环的来源。
SVG context-fill
和 context-stroke
实现一个现有的 SVG 功能,该功能在指定填充和描边属性时允许使用关键字 context-fill
和 context-stroke
。这只会影响使用 <use>
元素实例化的 SVG 子树,以及使用 <path>
元素上的 marker
属性实例化的 <marker>
元素。在这些情况下,context-fill
和 context-stroke
会被解析为 <use>
或 <path>
上的 fill
和 stroke
属性的值。
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 中,您可以选择启用以下新的源试用。
对变更事件的弃用试验
变更事件(包括 DOMSubtreeModified
、DOMNodeInserted
、DOMNodeRemoved
、DOMNodeRemovedFromDocument
、DOMNodeInsertedIntoDocument
和 DOMCharacterDataModified
)可能会损害网页性能,还会显著增加向 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 随时间的推移而不断发展,术语变化会提升描述符的持久性。