发布时间:2025 年 12 月 3 日
除非另有说明,否则以下更改适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道版本。如需详细了解这些功能,请参阅提供的链接或 ChromeStatus.com 上的列表。您可以从 Google.com 下载桌面版最新版本,也可以从 Android 设备上的 Google Play 商店下载最新版本。
CSS 和界面
使用转换的 CSS 锚点定位
如果锚定位置的元素与具有 transform 的锚点(或包含在具有 transform 的元素中)相关联,浏览器会针对已转换的锚点的边界框解析 anchor() 和 anchor-size() 函数。
CSS 网页内查找突出显示伪类
将网页内查找搜索结果样式公开为 ::search-text 伪元素,该伪元素是一种突出显示伪元素,类似于用于选择和拼写错误的伪元素。这样一来,您就可以更改前景颜色和背景颜色,或添加文字装饰。如果浏览器默认设置与网页颜色对比度不足或不适合,此功能尤其有用。
如需了解详情,请参阅 Igalia 博客中的“Find-in-Page Highlight Styling”(在页面中查找突出显示样式)。
请勿使用 aria-details 进行锚定定位
为锚点定位的非弹出式窗口用例创建 aria-details 关系的代码可能是一个错误。由于弹出式窗口和其他语义关系确实会创建 aria-details,而其余用例可能属于非语义用例,因此 Chrome 现在不会在非语义用例中创建这些关系。
@scroll-state 滚动支持
让您可以根据最近的滚动方向设置容器后代的样式。
示例:
.scrolling-up {
translate: 80px 0;
transition: 0.4s translate;
}
html {
container-type: scroll-state;
}
@container scroll-state(scrolled: top) {
.scrolling-up { translate: 0 0; }
}
针对键盘滚动操作遵循 overscroll-behavior
当您将 overscroll-behavior 设置为 auto 以外的值时,浏览器不应执行滚动链。Chrome 会在鼠标或触控滚动时遵循此设置;不过,键盘滚动会忽略此设置。此更改可确保键盘滚动也遵循 overscroll-behavior。
在不可滚动的滚动容器上遵循 overscroll-behavior
overscroll-behavior 属性适用于所有滚动容器元素,无论这些元素是否包含溢出内容或是否可供用户滚动。您可以使用 overscroll-behavior 来防止 overflow: hidden 背景或 overflow: auto 元素上的滚动传播,而无需考虑它是否溢出。
非树范围的 container-name 匹配
浏览器在为 @container 查询匹配 container-name 时会忽略树范围。
以前,针对 @container 查询的 container-name 匹配使用树范围内的名称或引用。这意味着,如果 @container 规则和 container-type 属性源自不同的树(例如,如果 container-type 声明来自内部影子树),则即使名称相同也不会匹配。
进行此更改后,无论 @container 规则或 container-type 声明来源如何,container-name 值都会匹配。
SVG2 CSS 层叠
使 Chrome 实现与 SVG2 规范保持一致,以便在 <use> 元素树中匹配 CSS 规则。
选择器匹配的是 <use> 实例化元素,而不是原始元素子树。这意味着选择器不再匹配克隆子树之外的祖先元素和同级元素。更重要的是,:hover 等状态选择器现在可以在 <use> 实例中匹配。
Web API
XRVisibilityMaskChange
添加了一个 XRVisibilityMaskChange 事件,该事件提供了一个顶点和索引列表,用于表示用户视口中可见部分的网格。
此数据可用于放心地限制绘制的视口量,从而提高性能。为了更好地支持此事件,XRView 对象也具有唯一标识符,以便更轻松地与关联的掩码配对。这是对核心 WebXR 规范的扩展。
向 GlobalEventHandlers 公开 onanimationcancel 事件
CSS 动画级别 1 通过声明四个新的事件处理程序(onanimationstart、onanimationiteration、onanimationend 和 onanimationcancel)扩展了 HTML 规范中定义的 GlobalEventHandlers 接口。
GlobalEventHandlers IDL 中仅缺少 onanimationcancel 事件处理程序。
如需了解详情,请参阅 CSS 动画级别 1 规范和 HTML 规范的 GlobalEventHandlers 部分。
视图过渡 waitUntil() 方法
ViewTransition 会自动构建一个伪元素树,以显示和动画呈现过渡中的参与元素。根据规范,此子树在视图过渡开始动画时构建,并在与所有视图过渡伪元素关联的动画处于完成状态(或更准确地说,处于非运行、非暂停状态)时销毁。
此方法适用于大多数情况,并可为开发者提供顺畅的体验。不过,对于更高级的用例,这还不够,因为开发者有时希望视图过渡伪树在动画结束状态之后继续存在。
一个示例是将视图过渡与滚动驱动的动画相关联。当动画由滚动时间轴控制时,动画结束时不应销毁子树,因为滚动返回时仍可为伪元素设置动画。
为了实现视图过渡的高级用法,此 intent 在 ViewTransition 对象上添加了一个接受 promise 的 waitUntil() 函数。此 promise 会延迟伪树的销毁,直到它 settled 为止。
<geolocation> 元素
引入了 <geolocation> 元素,这是一种声明式、用户激活的控制元素,用于访问用户的位置信息。它通过处理权限流程并直接向网站提供位置数据来简化用户和开发者的流程,通常无需单独调用 JavaScript API。
这解决了长期以来存在的问题,即直接从 JavaScript 触发权限提示,而没有用户意图的强烈信号。通过在网页中嵌入浏览器控制的元素,用户的点击操作会提供清晰、明确的信号。这不仅能提供更好的提示用户体验,而且还能为之前拒绝过相应权限的用户提供恢复路径。
WebGPU:subgroup_id 功能
启用子群组扩展后,可以使用 subgroup_id 和 num_subgroups 内置值。
WebGPU:统一缓冲区标准布局
在 WGSL 着色器中声明的统一缓冲区不再需要对数组元素进行 16 字节对齐,也不需要将嵌套结构偏移量填充为 16 字节的倍数。
Temporal API
ECMA262 中的 Temporal API 提供用于处理日期和时间的标准对象和函数。Date 一直是 ECMAScript 中存在的问题。Temporal,一个充当顶级命名空间 (例如 Math) 的全局 Object,可为 ECMAScript 语言带来现代日期和时间 API。如需详细了解动机,请参阅修复 JavaScript 日期:入门。
支持 SVGAElement 的 ping、hreflang、type 和 referrerPolicy
在 SVGAElement 上添加了对 ping、hreflang、type 和 referrerPolicy 属性的支持,使其行为与 HTMLAnchorElement 保持一致,以便在 HTML 和 SVG 中实现一致的链接处理。
clipboardchange 事件
每当系统剪贴板内容被 Web 应用或任何其他系统应用更改时,都会触发 clipboardchange 事件。这样,Web 应用(例如远程桌面客户端)就可以使其剪贴板与系统剪贴板保持同步。它提供了一种高效的替代方案,可用于轮询剪贴板(使用 JavaScript)以检测更改。
用户代理客户端提示 ch-ua-high-entropy-values 权限政策
添加了对 ch-ua-high-entropy-values 权限政策的支持,该政策允许顶级网站使用 navigator.userAgentData.getHighEntropyValues() JavaScript API 限制哪些文档可以收集高熵客户端提示。
借助现有的基于每个客户端提示的权限政策,已经可以限制通过 HTTP 收集高熵提示。
RTL MathML 运算符的镜像
在 RTL 模式下渲染 MathML 运算符时,添加了对字符级和字形级镜像的支持。
使用 RTL 模式时,某些运算符可以通过将其更改为另一个代码点(例如,右括号变为左括号)进行镜像。这是字符级镜像,等效性由 Unicode 的 Bidi_Mirrored 属性定义。
某些运算符没有合适的镜像字符。在这种情况下,系统会应用字形级镜像,即使用 rtlm 字体功能,在镜像上下文中用另一个字形替换该字形。一些现有实现直接镜像原始字形,但这可能会改变不对称字符(例如顺时针轮廓积分)的含义。
针对独立式 Web 应用的 Direct Sockets API 的多播支持
借助此功能,隔离的 Web 应用可以订阅多播组、接收来自这些组的 UDP 数据包,以及在向多播地址发送 UDP 数据包时指定其他参数。
表现和赛事计时:InteractionCount
Event Timing API 是 Performance Timeline 的一部分,用于衡量用户互动的性能。某些事件具有分配的 interactionId 值,这有助于根据常见的物理用户输入或手势对相关互动进行分组。
此功能会添加 performance.interactionCount,即网页上发生的互动总次数。
此功能尤其有助于计算“互动到下次绘制”(INP) 指标值,这需要知道互动总数才能计算高百分位得分(对于总互动次数超过 50 次的网页,为第 98 百分位)。
此功能已指定很长时间,之前在 Chromium 中进行了原型设计,但从未发布,是 Interop 2025 的一部分,并且已在其他浏览器中提供。
DOM 更改后可互操作的指针和鼠标边界事件
在从 DOM 中移除事件目标后,指针的逻辑目标(如指针和鼠标边界事件(即 over、out、enter 和 leave 事件)所暗示的那样)必须是仍附加到 DOM 的最近的祖先。
Chrome 一直在跟踪某个节点,即使该节点已从 DOM 中移除。因此,如果指针在命中测试节点 A 从 DOM 中移除后移动到新节点 B,则边界事件序列(pointerover、pointerout、pointerenter、pointerleave 事件和相应的鼠标事件)会暗示指针从 A 移动到 B。根据新的共识,事件序列意味着从“A 的父级”到 B 的指针移动。
Android 上的指针锁定
通过将鼠标事件的目标锁定到单个元素并隐藏鼠标光标,提供对原始鼠标移动的访问权限。Pointer Lock API 已在桌面设备上受支持,此次发布旨在支持 Android 设备。
RTCDegradationPreference 枚举值 maintain-framerate-and-resolution
maintain-framerate-and-resolution 会停用 WebRTC 的内部视频自适应功能。
这样,应用就可以实现自己的自适应逻辑,并防止内部自适应造成干扰。
Android 和 iOS 上的 WebAuthn Signal API
允许 WebAuthn 可信方将有关现有通行密钥的信息报告给凭据存储提供方,以便从提供方和系统界面更新或移除不正确或已撤消的凭据。
此功能之前已在桌面设备上推出,现在也已在 Android 和 iOS 设备上推出。
此外,信号 API 现在支持在所有受支持的平台上为 Google 密码管理器的通行密钥提供安全机制。之前,当信赖方发出凭据未知或已移除的信号时,通行密钥会被永久删除。现在,Google 密码管理工具会隐藏通行密钥,而不是将其删除。通过调用 signalAllAcceptedCredentials 并提供之前隐藏的通行密钥列表,可以恢复通行密钥。
新的源试用
在 Chrome 114 中,您可以选择加入以下源试用。
增强了 Canvas TextMetrics
扩展了 TextMetrics Canvas API,以支持选择矩形、边界框查询和基于字形集群的操作。
此功能可让复杂的文本编辑应用实现精准的选择、光标定位和命中测试。此外,基于集群的渲染有助于实现复杂的文字效果,例如独立的字符动画和样式。
弃用和移除
此版本的 Chrome 引入了本部分中列出的弃用和移除项。如需查看计划弃用、当前弃用和之前移除的功能列表,请访问 ChromeStatus.com。
弃用 Topics API
Topics API 是一种 API,可根据用户的一般浏览兴趣来定位广告,而不会泄露用户的确切浏览记录。
继宣布 Chrome 将继续采取现有第三方 Cookie 处理方式后,我们现在要弃用并计划移除 Topics API(以及Privacy Sandbox 功能状态页面上列出的某些其他技术)。
弃用 Protected Audience API
Protected Audience API 提供了一种基于兴趣群体的广告投放方法,无需使用第三方 Cookie 或跨网站跟踪用户。
继宣布 Chrome 将继续采取现有做法来处理第三方 Cookie 之后,我们现在要弃用 Protected Audience API,并计划将其移除(以及Privacy Sandbox 功能状态页面上列出的某些其他技术)。
弃用 Shared Storage API
Shared Storage API 是一种可保护隐私的 Web API,可实现不受第一方网站分区限制的存储。
在宣布 Chrome 将继续采取现有做法来处理第三方 Cookie 之后,该团队正在弃用并计划移除 Shared Storage API(以及Privacy Sandbox 功能状态页面上列出的某些其他技术)。
弃用 Attribution Reporting API
Attribution Reporting API 是一种旨在衡量广告转化情况的 API,无需使用第三方 Cookie 或跨网站跟踪用户。
在宣布 Chrome 将继续采取现有第三方 Cookie 处理方式后,该团队计划弃用并移除 Attribution Reporting API(以及其他 Privacy Sandbox API)。
弃用 Private Aggregation API
Private Aggregation API 是一种通用机制,可用于以保护隐私的方式衡量汇总的跨网站数据。它最初是为没有第三方 Cookie 的未来而设计的。
在宣布 Chrome 将继续采取现有第三方 Cookie 处理方式后,该团队正在弃用并计划移除 Private Aggregation API(以及 Privacy Sandbox 功能状态页面上列出的某些其他技术)。此 API 仅通过 Shared Storage 和 Protected Audience API 公开,而这两个 API 也计划弃用和移除。因此,无需为私密聚合执行任何额外操作。
弃用 Related Website Sets
Related Website Set 为开发者提供了一个框架,用于声明网站之间的关系,以便出于特定的面向用户的目的实现有限的跨网站 Cookie 访问。这是通过使用存储访问 API 和 document.requestStorageAccessFor(请参阅下一部分)来实现的。
在宣布 Chrome 将继续采取现有做法来处理第三方 Cookie 之后,我们现在要弃用并计划移除相关网站集(以及隐私沙盒功能状态页面上列出的某些其他技术)。
弃用了 document.requestStorageAccessFor
requestStorageAccessFor API 是 Storage Access API 的扩展,可让顶级网站代表嵌入式网站请求访问未分区的(“第一方”)Cookie。浏览器可以自行决定授予或拒绝访问权限,并可将“相关网站集”成员资格等机制作为潜在信号。这样一来,顶级网站就可以使用 Storage Access API。
继宣布 Chrome 将继续采取现有第三方 Cookie 处理方式后,我们现在要弃用并计划移除 requestStorageAccessFor(以及隐私沙盒功能状态页面上列出的某些其他技术)。
将 savedTabGroups 作为 SyncTypesListDisabled 中的单个值弃用
借助 SyncTypesListDisabled 企业政策,管理员可以在桌面平台上停用 savedTabGroups 数据类型的同步功能。不过,在移动平台中,标签页组同步已由 tabs 数据类型管理。为了使桌面版行为与移动版保持一致并简化同步管理,我们已弃用单独的 savedTabGroups 数据类型,并且该数据类型不再是 SyncTypesListDisabled 政策中可单独自定义的值。
XML 解析中外部加载的实体
在特定情况下,Chrome 会同步提取外部 XML 实体或 DTD,并将其纳入解析中。此功能将被移除。
http/tests/security/contentTypeOptions/xml-external-entity.xml 提供了一个示例:外部实体可以在 DOCTYPE 语句的尾部定义,并引用在解析 XML 时同步加载并作为上下文包含的资源。
另一个语法示例是 DOCTYPE,它使用 SYSTEM 关键字,后跟指向 DTD 的网址,其中包含其他实体定义。
此类外部加载请求会从解析器传递上来。
根据 W3C XML 规范,非验证处理器不需要读取外部实体。
该团队计划弃用在不使用 XSLT 的 XML 文档中加载外部实体定义的功能。