除非另有说明,否则以下变更适用于适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版分支。如需详细了解此处列出的功能,请点击所提供的链接或查看 ChromeStatus.com 上的列表。自 2024 年 8 月 21 日起,Chrome 129 进入 Beta 版阶段。您可以在桌面版 Google.com 或 Android 版 Google Play 商店下载最新版本。
CSS
此版本新增了两项 CSS 功能,并更新了三项功能。
CSS interpolate-size property
和 calc-size()
函数
借助 CSS interpolate-size
属性,页面可以在 CSS 内在尺寸关键字(例如 auto
、min-content
和 fit-content
)可呈现动画效果的情况下,选择为这些关键字启用动画和转场效果。
CSS calc-size()
函数是一种类似于 calc()
的 CSS 函数,但它还支持对恰好一个受支持的尺寸关键字执行操作。目前支持的尺寸关键字包括 auto
、min-content
、max-content
和 fit-content
。未来可能支持的其他大小调整关键字包括 stretch
(目前支持前缀为 -webkit-fill-available
)和 contain
。此函数用于表示 interpolate-size
属性允许的动画中间的值。
将 CSS 锚点定位 inset-area
重命名为 position-area
CSSWG 决定将此属性从 inset-area
重命名为 position-area
。Chrome 129 提供 position-area
,inset-area
名称将在未来的版本中移除。
CSS 锚点定位:未封装 inset-area()
直接在 position-try-fallbacks
中将 inset-area()
函数替换为内嵌区域值。例如,使用 position-try-fallbacks:top
,而不要使用 position-try-fallbacks:inset-area(top)
。
更新 CSS backdrop-filter 以使用镜像 edgeMode
backdrop-filter
CSS 属性可将一个或多个滤镜应用于元素的背景幕。背景是位于元素后面的绘制内容。常见的滤镜是模糊处理,可让设计师构建“磨砂玻璃”对话框框、视频叠加层、半透明导航栏标题等。
此功能最初的实现方式与常规模糊处理相同,但采样超出元素边缘会导致边缘的颜色渗入。通过复制边缘像素,规范已更改为采样背景边缘外的像素。不过,这会导致内容进入背景边缘时出现极端闪烁。最新的规范变更会在超出边缘采样时镜像背景,从而允许在边缘处平滑渐进地引入新颜色,而不会过度强调单行颜色。
Web API
WebRTC 数据通道中的 Blob 支持
实现了 RTCDataChannel.send(Blob)
,并且 onMessage
事件现在可以选择使用 binaryType
属性接收类型为 Blob
的数据。
除了支持发送字符串和 ArrayBuffer 之外,您现在还可以选择发送 Blob
,前提是其大小低于 WebRTC 规范中所述的 SCTP 传输 maxMessageSize
。
将 binaryType
属性设置为 "blob"
后,onMessage 事件数据属性的类型将为 Blob
,而不是目前支持的 ArrayBuffer
。
Compute Pressure WebDriver 扩展程序命令
公开 WebDriver 命令,用于为虚拟压力源创建、移除和更新压力源样本。此类压力源不依赖于底层硬件或操作系统支持,并且可用于测试。
Intl.DurationFormat
提供一种格式化时长的方法,例如“1 小时 40 分钟 30 秒”,支持多种语言区域。
Private Aggregation API:客户端贡献合并
修改了 Private Aggregation API,以便在将直方图贡献值嵌入可汇总报告的加密载荷之前,合并具有相同分桶和过滤 ID 的贡献值。
私密汇总会对单个可汇总报告中可嵌入的贡献数量施加限制,任何其他贡献都会被舍弃。通过尽可能合并贡献,我们可以充分利用此限制。请注意,除了忽略多余贡献之外,合并这类贡献对最终输出(例如摘要报告)应该没有任何影响。
scheduler.yield()
提供一种向浏览器让出控制权的方法,可用于拆分长任务。等待 scheduler.yield()
返回的 Promise 会导致当前任务让出,并在新的浏览器任务中继续。这可用于解决由长时间运行的任务导致的响应速度问题。系统会优先使用接续,以减少现有替代方案的性能问题。
Web Authentication API:JSON 序列化方法
借助 WebAuthn PublicKeyCredential.toJSON()
、parseCreationOptionsFromJSON()
和 parseRequestOptionsFromJSON()
方法,开发者可以将 WebAuthn 响应序列化为 JSON 对象,或将 WebAuthn 请求对象从其 JSON 表示法反序列化。
WebGPU 扩展范围 (HDR) 支持
向 WebGPU 画布配置添加了色调映射参数,并添加了 standard
(将内容限制在显示屏的 SDR 范围内的当前行为)作为默认选项,以及 extended
(不强加此限制)作为新行为。这样,WebGPU 内容就可以使用显示屏的整个范围。
正在进行的源试用
在 Chrome 129 中,您可以选择参与以下新的源代码试用。
FileSystemObserver 接口
FileSystemObserver 接口会通知网站文件系统发生的更改。网站会监控用户本地设备(如 WICG/file-system-access 中所述)或存储分区文件系统(如 fs.spec.whatwg.org 中所述)中文件和目录的更改,并会收到更改类型等基本更改信息的通知。
废弃和移除
此版本的 Chrome 引入了下列已废弃和已移除的功能。如需查看计划弃用、当前弃用和之前移除的功能的列表,请访问 ChromeStatus.com。
此版本的 Chrome 弃用了一项功能。
废弃了专用网络访问的 0.0.0.0
在完全推出专用网络访问 (PNA) 之前,Chrome 会阻止访问 IP 地址 0.0.0.0
。
按照 PNA 规范,Chrome 将弃用从公共网站直接访问专用网络端点的功能。根据规范,在 localhost (127.0.0.0/8
) 上监听的服务被视为私有服务。可以使用 IP 地址 0.0.0.0
绕过 Chrome 的 PNA 保护,以访问在 macOS 和 Linux 上监听本地主机的服务。
攻击者还可能会在针对监听本地主机的 Web 应用的 DNS 重新绑定攻击中滥用此功能。
此版本的 Chrome 移除了三项功能。
移除了 DOMParser 上的 includeShadowRoots
参数
includeShadowRoots
参数是 DOMParser.parseFromString()
函数的一个从未标准化的参数,用于允许对包含声明式 shadow DOM 的 HTML 内容进行命令式解析。此功能在 Chrome 90 中发布,是声明式 shadow DOM 的初始版本的一部分。
现在,setHTMLUnsafe()
和 parseHTMLUnsafe()
方法提供此功能的标准化版本,因此非标准 includeShadowRoots
参数将被移除。代码应更新为:
来替代:
((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});
使用:
Document.parseHTMLUnsafe(html);
移除了非标准的声明式 shadow DOM 序列化
声明式 shadow DOM 的原型实现包含一个名为 getInnerHTML()
的方法,用于序列化包含影子根的 DOM 树。该原型中的这部分未与声明式阴影 DOM 的其余部分一起标准化,而是设计了替代项 getHTML()
。
因此,旧的 getInnerHTML()
方法现已从 Chrome 中移除,您应改用 getHTML()
,后者很快将支持跨浏览器互操作。
从不安全的情境中移除 PointerEvent.getCoalescedEvents()
四年前,指针事件工作组将 PointerEvent.getCoalescedEvents()
限制为仅在安全上下文中使用,从而将该 API 从不安全的上下文中移除。Chrome 最初发布的是旧行为,由于兼容性问题,并未立即遵循规范变更。
由于在不安全情境中的 Chrome 使用率非常低,我们现在将从不安全情境中移除此功能。