稳定版发布日期: 2026 年 4 月 7 日
除非另有说明,否则以下变更适用于 Android、ChromeOS、Linux、macOS 和 Windows 的 Chrome 147 稳定版 渠道。
CSS 和界面
元素范围内的视图过渡效果
在任意 HTML 元素上公开 element.startViewTransition()。
该元素为过渡效果建立范围,这意味着过渡效果伪元素会受到祖先剪辑和转换的影响,并且不同元素上的多个过渡效果可以同时运行。
跟踪 bug #394052227 | ChromeStatus.com 条目 | 规范
CSS contrast-color()
此函数可帮助您满足无障碍功能方面的对比度要求。
您可以在 CSS 中需要颜色值的任何位置使用 contrast-color() 函数。它接受颜色值实参,并返回“black”或“white”,具体取决于哪个值与颜色实参的对比度最高。
跟踪 bug #40142548 | ChromeStatus.com 条目 | 规范
时间轴命名的范围 scroll
此功能通过将 scroll 范围添加到现有 entry、exit、cover 和 contain 范围集中,扩展了视图时间轴的命名范围集。
跟踪 bug #41483848 | ChromeStatus.com 条目 | 规范
CSS border-shape 属性
借助 CSS border-shape 属性,您可以创建具有任意形状(例如多边形、圆形或 shape())的非矩形边框。
虽然 border-shape 接受与 clip-path 相同的形状,但两者在本质上是不同的。border-shape 定义边框的形状,对其进行装饰,并且仅剪辑内部。
border-shape 有两种变体:一种用于描边形状,另一种用于填充两个形状之间的区域。
跟踪 bug #370041145 | ChromeStatus.com 条目 | 规范
CSSPseudoElement 接口
CSSPseudoElement 接口表示 JavaScript 中的伪元素。
CSSPseudoElement 是从 Element.pseudo(type) 返回的,其中 type 目前为 ::after、::before 或 ::marker。CSSPseudoElement 是表示伪元素的代理对象。与伪元素不同,CSSPseudoElement 始终存在。
CSSPseudoElement 具有以下属性和方法:
type属性是一个字符串,表示伪元素的类型。element属性是伪元素的最终原始元素。- The
parent属性是伪元素的原始元素(对于嵌套伪元素,可以是Element或CSSPseudoElement)。 pseudo(type)方法用于检索嵌套伪元素。
跟踪 bug #40639103 | ChromeStatus.com 条目 | 规范
事件的伪目标
特定事件现在包含 .pseudoTarget,该属性可以是 CSSPseudoElement(如果交互是与伪元素进行的)或 null。
这提供了有关事件来源的更具体的信息。例如,它表示点击的是 ::after 伪元素,而不仅仅是最终原始元素 (Event.target)。请注意,Event.target 保持不变,因此事件仅包含有关伪元素交互的额外信息。
这些事件包括 UIEvent、AnimationEvent 和 TransitionEvent。
目前尚不支持 mouseover、mouseout、mouseenter、mouseleave 及其 pointer* 对应项。
跟踪 bug #40639103 | ChromeStatus.com 条目 | 规范
分离 *-width 和 *-style 属性
Chrome 147 与更新后的 CSS
规范保持一致,以确定
border-width、outline-width 和 column-rule-width 属性的行为。以前,如果将相应的 border-style、outline-style 或 column-rule-style 设置为 none 或 hidden,则这些属性的计算宽度会被强制设置为 0px,无论指定的值是多少。
进行此更改后,border-width、outline-width 和 column-rule-width 的计算值始终反映作者指定的值,与 *-style 属性无关。此外,outline-width 和 column-rule-width 的解析值(由 getComputedStyle() 返回)也会反映指定的值。
此更改使 Chrome 与 Firefox 和 WebKit 保持一致,后者已实现此行为。
跟踪 bug #393631108 | ChromeStatus.com 条目 | 规范
支持 SVG <textPath> 元素上的 path 属性
此更改增加了对 path 属性的支持,该属性位于 SVG <textPath>
元素上。这让开发者可以使用 SVG 路径
数据内联定义文本路径几何图形,并减少了对单独定义的 <path> 元素的需求。
<textPath> 元素使用以下
规则解析其文本路径几何图形:
- 如果同时存在
path和href,则几何图形将从path属性解析。 - 如果仅存在
path属性并且解析成功,则使用内联路径定义。 - 如果
path属性不存在或解析失败,并且提供了href属性,则使用引用的<path>元素作为回退。 - 仅使用
href的现有行为保持不变。
此实现遵循 SVG 2 规范中对 path
attribute 上的 <textPath> 的定义。解析行为与其他浏览器引擎保持一致,这提高了互操作性和标准合规性。注意:
如果同时在 <textPath> 上指定了 path 和 href,则根据 SVG 2 规范,path 现在优先。
跟踪 bug #374010056 | ChromeStatus.com 条目 | 规范
设备
WebXR 平面检测
借助 WebXR 平面检测 API,网站可以检索用户环境中检测到的一组平面。与使用深度感应 WebXR 功能相比,这可以减少开发者的工作量,并且功能更强大。例如,如果系统知道墙壁的边界,则被对象遮挡的墙壁等平面仍然可以完全表示。深度图会显示墙壁,但墙壁前面的对象会将其分割,可能会遮挡墙壁的完整范围。此外,当设备知道此类标签并且这些标签符合预定义的类别时,系统会公开语义标签信息,从而提供有关世界的更丰富知识。
跟踪 bug #394636076 | ChromeStatus.com 条目 | 规范
DOM
支持 link rel=modulepreload 的 JSON 和样式
添加了对 JSON 和样式模块类型的支持,作为 <link rel="modulepreload">
目标。<link rel="modulepreload"> 在 Chromium 中已受支持(请参阅
Chromestatus 功能),但
目前仅支持预加载类似脚本的模块脚本。此功能
解决了功能差距,因为 JSON 和 CSS 模块脚本在 Chromium 中的其他位置受支持
,但不能作为 <link rel="modulepreload"> 目标。您可以使用
<link rel="modulepreload" as="style" href="...">预加载样式模块,并使用
<link rel="modulepreload" as="json" href="...">预加载 JSON 模块。
跟踪 bug #466888680 | ChromeStatus.com 条目 | 规范
在非 XSLT 场景中使用 Rust 进行 XML 解析
针对不需要 XSLT 处理的场景实现了 Rust XML 解析器。
Rust XML 解析器通过消除 XML 解析中的内存损坏 bug 来提高安全性。它使用安全替代方案替换了 libxml2(用 C 编写)的使用。
我们正在弃用 XSLT。在此过程继续进行期间,您可以在不需要 XSLT 的场景中使用安全的 Rust XML 解析。
跟踪 bug #466303347 | ChromeStatus.com 条目
图形
WebXR 图层
WebXR 图层提供了一种更高效的方式来绘制沉浸式内容。
除了支持原生颜色和深度纹理以及纹理数组之外,它还支持系统合成器(而不是 JavaScript)管理的不同图层类型。
跟踪 bug #409255534 | ChromeStatus.com 条目 | 规范
JavaScript
Math.sumPrecise
实现了一项 TC39 提案,以添加一种在 JavaScript 中对多个值求和的方法。
添加了一个接受可迭代对象的 Math.sumPrecise 方法,该方法使用比简单求和更精确的算法返回可迭代对象中值的总和。
跟踪 bug #374310075 | ChromeStatus.com 条目 | 规范
网络 / 连接
Request.isReloadNavigation 属性
向 Fetch API 的 Request 接口添加了只读布尔值属性 isReloadNavigation。此属性表示当前导航请求是否是作为用户触发的重新加载(例如,使用刷新 按钮、location.reload() 或 history.go(0))发起的。此信号主要在 Service Worker 的 FetchEvent 中的 Request 对象上公开。
跟踪 bug #40487194 | ChromeStatus.com 条目 | 规范
性能
更新设备内存 API 限额
更新为设备内存 API 的一组新的可能值:
- Android:1、2、4、8
- 其他:2、4、8、16、32 这些值取代了旧值 0.25、0.5、1、2、4 和 8,这些旧值已过时。
这降低了低端的指纹识别风险,因为自设置这些值以来,设备功能已得到改进。它还允许更好地使用和细分高端设备,正如开发者所要求的那样。如需了解详情,请参阅设备 内存问题。
跟踪 bug #454354290 | ChromeStatus.com 条目 | 规范
本地网络访问权限 (LNA)
如需详细了解 LNA,请参阅 本地网络访问权限。
对 Service Worker WindowClient.navigate() 的本地网络访问权限限制
最近添加了本地网络访问权限 (LNA) 限制,以防止网站单方面向本地网络和本地设备发出请求。这些限制是针对 Service Worker 发起的提取请求添加的,但不适用于 Service Worker 通过 WindowClient.navigate() 执行的导航。
此次发布通过向 WindowClient.navigate() 调用添加 LNA 限制来弥补这一差距。它使用 WindowClient 作为导航的发起者,以确定导航是否为 LNA 请求。
这仅适用于正在导航的 WindowClient 是子框架的情况。Chrome 目前不会对主框架导航强制执行任何 LNA 限制。
WebTransport 的本地网络访问权限限制
限制了使用 WebTransport 向用户的本地网络发出请求的功能,该功能受权限提示的限制。
本地网络请求是指从公共网站到本地 IP 地址或环回地址的任何请求,或从本地网站(例如内网)到环回地址的任何请求。通过权限限制网站执行这些请求的功能,可以降低网站使用这些请求来识别用户本地网络指纹的能力。
此权限仅限于安全上下文。
跟踪 bug #421216834 | ChromeStatus.com 条目 | 规范
WebSockets 的本地网络访问权限限制
本地网络访问权限 (LNA) 限制正在扩展,以包含 WebSockets。 现在,与本地地址的 WebSockets 连接会触发权限提示。
所有当前的 LNA 企业政策仍然适用于 LNA WebSockets 限制(LocalNetworkAccessAllowedForUrls、LocalNetworkAccessBlockedForUrls 和 LocalNetworkAccessRestrictionsTemporaryOptOut)。
跟踪 bug #421156866 | ChromeStatus.com 条目 | 规范
独立式 Web 应用 (IWA)
Web Printing API
此 API 可实现与独立式 Web 应用中打印机相关功能的更深入集成。
此 API 仅面向独立式 Web 应用,并遵循独立式 Web 应用 流程。
此 API 提供了一组 JavaScript 方法,让开发者可以查询本地打印机、将打印任务提交到最合适的打印机,以及管理打印任务选项和状态。为了表示这些概念,它依赖于互联网打印协议 (IPP) 规范中的属性名称和语义。
跟踪 bug #302505962 | ChromeStatus.com 条目 | 规范
源试用
预渲染跨源 iframe
使用选择启用响应标头预渲染跨源 iframe。
如果顶级框架的 HTTP 响应包含 Supports-Loading-Mode: prerender-cross-origin-frames,浏览器现在会预渲染所有跨源框架。
源试用 | 跟踪 bug #440387014 | ChromeStatus.com 条目 | 规范
自动填充事件
自动填充是一项重要的 Web 功能,每天可为数百万用户减少摩擦。但是,要让自动填充功能在多个实现中可靠地使用动态表单,需要付出大量努力。
此功能添加了一个 autofill 事件,让开发者可以修改表单以适应自动填充的数据,并在完成修改后通知浏览器。
源试用 | 跟踪 bug #466333215 | ChromeStatus.com 条目 | 规范
WebNN
借助 WebNN,Web 应用和框架可以利用原生操作系统服务进行机器学习,并利用用户计算机上可用的底层硬件功能。这有助于在 Web 上实现一致、高效且可靠的机器学习体验。
源试用 | 跟踪 bug #40206287 | ChromeStatus.com 条目 | 规范
弃用和移除
移除用于生成 SVG 的内联 XSLT
一个经过精心设计的 XML 文件可能包含一个 XSL 样式表,该样式表会将通用 XML 数据转换为 SVG 文件。
例如,请参阅 gist.github.com。
这是一个特殊的 XSLT 处理用例,根据最近引入的使用计数器 XSLPIInSVGImage(UseCounter ID 5777)和 XSLPIInSVGStandaloneDoc(UseCounter ID 5778),我们认为它在 Web 上几乎不存在。我们希望在完全淘汰 XSLT 之前弃用并移除它。
此功能与基于 Rust 的 XML 解析器的实验性测试同步推出。 它不会立即在 Chrome 147 中部署到 100%。