稳定版发布日期:2025 年 8 月 5 日
除非另有说明,否则以下变更适用于 Android、ChromeOS、Linux、macOS 和 Windows 的 Chrome 139 稳定版发布渠道。
CSS 和界面
短路 var()
和 attr()
如果不采用回退,var()
和 attr()
函数在评估时不会查找该回退中的循环。
支持 @font-face
规则中的 font-feature-settings
描述符
此功能支持 CSS 字体级别 4 中定义的基于字符串的 font-feature-settings
语法。根据规范,系统会忽略无效或无法识别的功能标记。不支持二进制形式或非标准形式。
随着 OpenType 字体的应用越来越广泛,此增强功能将有助于改进排版控制、减少冗余,并支持更具可伸缩性的现代网页设计方法。
跟踪 bug #40398871 | ChromeStatus.com 条目 | 规范
CSS 自定义函数
自定义函数与自定义属性类似,但它们不是返回单个固定值,而是根据其他自定义属性、参数和条件返回值。
跟踪 bug #325504770 | ChromeStatus.com 条目 | 规范
在切换到初始过渡值时继续运行过渡
当与过渡相关的属性发生变化时,它们应该只会影响新开始的过渡。这意味着,如果您更改过渡属性,除非您还更改了具有有效过渡动画的属性,否则这些过渡动画将继续使用之前指定的时长和缓动效果。
当 transition 属性设置为 none
时,Chrome 会错误地取消过渡,即使您只更改 transition-duration
时它也不会取消过渡。此项变更使 Chrome 与 Safari 和 Firefox 保持一致,允许有效过渡继续运行,直到其属性值发生变化并触发新的过渡更新。
边角形状(corner-shape
、superellipse
、squircle
)
通过将角部的形状和曲率表示为超椭圆,在现有 border-radius
的基础上启用样式化角部。
这样便可实现海螺形、刘海屏和水滴屏等形状,以及在这些形状之间实现动画效果。
跟踪 bug #393145930 | ChromeStatus.com 条目 | 规范
添加 font-width
属性和描述符,并将 font-stretch
设置为旧版别名
在此更改之前,Chrome 不会将 font-width
识别为有效属性,而是使用 font-stretch
,现在 font-stretch
被视为旧版别名。
此更改使 Chrome 符合规范和其他浏览器。
跟踪 bug #356670472 | ChromeStatus.com 条目
支持 SVG <script>
元素的 async 属性
SVG 2.0 中的 SVGScriptElement
接口引入了 async 属性,与 HTMLScriptElement
类似。此属性允许异步执行脚本,从而提高使用 SVG 的 Web 应用的性能和响应能力。
跟踪 bug #40067618 | ChromeStatus.com 条目 | 规范
request-close
调用方命令
对话框元素可以通过多种机制关闭,有时开发者希望能够阻止关闭。为此,对话框会触发取消事件。最初,此事件仅通过关闭请求(例如,按下 ESC
键)触发,但最近添加了一个 requestClose()
JavaScript 函数,该函数也会触发取消事件。
request-close
命令将此新功能引入了声明性调用方命令 API。
跟踪 bug #400647849 | ChromeStatus.com 条目 | 规范
滚动锚定优先级候选修复
更改滚动锚定算法。不要选择优先级最高的候选对象作为锚点,而是选择该候选对象作为常规锚点选择算法的范围或根,该算法会选择屏幕上最深层的元素作为锚点。
设备
WebXR 深度感测性能改进
公开了多种新机制,用于自定义 WebXR 会话中深度感测功能的行为,旨在提高深度缓冲区的生成或使用性能。
公开的关键机制包括:能够请求原始或平滑的深度缓冲区;能够请求运行时停止或恢复提供深度缓冲区;能够公开与用户视图不完全对齐的深度缓冲区,以便用户代理无需每帧都执行不必要的重新投影。
跟踪 bug #410607163 | ChromeStatus.com 条目 | 规范
DOM
允许在 JavaScript DOM API 中使用更多字符
HTML 解析器一直(或很长时间以来)允许元素和属性具有各种有效的字符和名称,但用于创建相同元素和属性的 JavaScript DOM API 更加严格,与解析器不匹配。
此更改放宽了对 JavaScript DOM API 的验证,以与 HTML 解析器保持一致。
跟踪 bug #40228234 | ChromeStatus.com 条目 | 规范
图形
WebGPU:支持 BC 和 ASTC 压缩格式的 3D 纹理
texture-compression-bc-sliced-3d
和 texture-compression-astc-sliced-3d
WebGPU 功能分别添加了对 BC 和 ASTC 压缩格式的 3D 纹理支持。
跟踪 bug #342840940 | ChromeStatus.com 条目 | 规范
安全支付确认 (SPC)
securePaymentConfirmationAvailability
API
这是一个 JavaScript API,可提供一种更简单的方式来检查安全付款确认 (SPC) 功能是否可用。使用此 API 时,确定 SPC 是否可用的唯一方法是创建具有必需参数的 PaymentRequest
,这对于想要在开始处理付款之前检查 SPC 的开发者来说,既笨拙又困难。
跟踪 bug #40258712 | ChromeStatus.com 条目 | 规范
安全付款确认:浏览器绑定密钥
在安全付款确认断言和凭据创建过程中添加额外的加密签名。相应私钥未在设备间同步。这有助于 Web 开发者满足支付交易的设备绑定要求。
跟踪 bug #377278827 | ChromeStatus.com 条目 | 规范
设备端 AI
设备端 Web Speech API
此功能为 Web Speech API 添加了设备端语音识别支持,使网站能够确保音频和转写的语音都不会发送到第三方服务进行处理。
网站可以查询设备端语音识别功能是否支持特定语言,提示用户安装设备端语音识别所需的资源,并根据需要选择设备端语音识别或基于云的语音识别。
导航
清除切换浏览上下文群组的跨网站导航的窗口名称
当导航切换浏览上下文组时,清除 window.name
属性的值,以避免泄露可用作跟踪向量的信息。
跟踪 bug #1090128 | ChromeStatus.com 条目 | 规范
网络
减少 Accept-Language 标头信息中的指纹
减少 Accept-Language
标头值字符串在 HTTP 请求和 navigator.languages
中公开的信息量。Chrome 不再使用 Accept-Language
标头在每个 HTTP 请求中发送用户的完整首选语言列表,而是仅发送用户最首选的语言。
跟踪 bug #1306905 | ChromeStatus.com 条目
在 Windows 上随机分配 TCP 端口
此次发布后,在 Windows(2020 年或更高版本)上启用了 TCP 端口随机化,我们预计不会出现之前端口重用过快的问题(导致因端口重用超时而被拒绝)。快速端口重用问题源于生日问题,即与顺序模型中的端口重用相比,随机重新选择已看到的端口的概率会随着每个新选择的端口迅速收敛到 100%。
跟踪 bug #40744069 | ChromeStatus.com 条目
性能
加快了 Android 上的后台冻结速度
将 Android 上冻结后台网页(和关联的 worker)的时间从 5 分钟缩短到 1 分钟。
跟踪 bug #435623337 | ChromeStatus.com 条目
安全
针对内容安全政策 (CSP) 屏蔽的工作人员触发错误事件
使 Chrome 符合规范,在提取期间检查 CSP,并在脚本运行“new Worker(url)”或“new SharedWorker(url)”时异步触发错误事件,而不是抛出异常。
跟踪 bug #41285169 | ChromeStatus.com 条目 | 规范
WebRTC
RTC 编码帧的音频级别
此功能通过 RTCPeerConnection
将编码帧的音频级别公开给 Web,并使用 WebRTC 编码转换公开。
跟踪 bug #418116079 | ChromeStatus.com 条目 | 规范
Web API
Web 应用范围扩展
添加了 scope_extensions
Web 应用清单字段,使 Web 应用能够将其范围扩展到其他来源。
这样一来,控制多个子网域和顶级网域的网站就可以作为单个 Web 应用呈现。
要求列出的来源使用 .well-known/web-app-origin-association
配置文件确认与 Web 应用的关联。
跟踪 bug #detail?id=1250011 | ChromeStatus.com 条目 | 规范
符合规范的 JSON MIME 类型检测
Chrome 现在可以识别 WHATWG mimesniff 规范定义的所有有效 JSON MIME 类型。这包括子类型以 +json
结尾的任何 MIME 类型,以及 application/json
和 text/json
。此变更可确保依赖于 JSON 检测的 Web API 和功能与 Web 平台标准和其他浏览器保持一致的行为。
WebGPU core-features-and-limits
core-features-and-limits
功能表示 WebGPU 适配器和设备支持规范的核心功能和限制。
跟踪 bug #418025721 | ChromeStatus.com 条目 | 规范
崩溃报告 API:指定 crash-reporting
可仅接收崩溃报告
此功能通过指定名为 crash-reporting
的端点来确保开发者仅接收到崩溃报告。默认情况下,崩溃报告会发送到 default
端点,该端点除了接收崩溃报告之外,还会接收许多其他类型的报告。开发者可以为名为 crash-reporting
的知名端点提供单独的网址,以将崩溃报告定向到该网址,而不是 default
端点。
跟踪 bug #414723480 | ChromeStatus.com 条目 | 规范
源试用
Prompt API
一种 API,旨在通过文本、图片和音频输入与 AI 语言模型进行交互。它支持各种应用场景,从生成图片说明和执行视觉搜索,到转写音频、对声音事件进行分类、按照特定指令生成文本,以及从文本中提取信息或数据洞见。它支持结构化输出,可确保回答遵循预定义的格式(通常以 JSON 架构表示),从而提高回答的一致性,并有助于与需要标准化输出格式的下游应用无缝集成。
此 API 也可在 Chrome 扩展程序中使用。此功能条目用于跟踪网页上的曝光情况。企业政策 (GenAILocalFoundationalModelSettings
) 可用于停用基础模型下载,从而使此 API 不可用。
源试用 | 源试用博文 | 跟踪 bug #417530643 | ChromeStatus.com 条目
延长了共享工作器的生命周期
这会向 SharedWorker
构造函数添加一个新选项 extendedLifetime: true
。此请求要求即使在所有当前客户端都已卸载后,共享工作器仍保持活跃状态。主要使用情形是允许网页在卸载后执行需要 JavaScript 的异步工作,而无需依赖服务工作线程。
源试用 | 源试用博文 | 跟踪 bug #400473072 | ChromeStatus.com 条目
SoftNavigation
性能条目
使用 PerformanceObserver
和性能时间轴向 Web 开发者公开(实验性)软导航启发法。
此功能会报告两项新的性能条目:
soft-navigation
,用于导航网页的用户互动。定义一个新的timeOrigin
以帮助对性能时间轴进行切分。interaction-contentful-paint
,用于报告互动(不仅限于下一次绘制)的加载性能,在软导航中用作 LCP。
源试用 | 源试用博文 | 跟踪 bug #1338390 | ChromeStatus.com 条目 | 规范
Web 身份验证立即中介
一种针对 navigator.credentials.get()
的中介模式,如果浏览器立即知道网站的通行密钥或密码,则会导致向用户显示浏览器登录界面。否则,如果不存在此类凭据,则会使用 NotAllowedError
拒绝。这样一来,如果浏览器可以提供可能成功的登录凭据选项,网站就可以避免显示登录页面,同时仍然允许在没有此类凭据的情况下使用登录页面流程。
跟踪 bug #408002783 | ChromeStatus.com 条目 | 规范
全帧速率呈现屏蔽属性
向阻塞属性添加新的渲染阻塞令牌 full-frame-rate。当渲染器因全帧速率令牌而被阻塞时,渲染器将以较低的帧速率运行,以便为加载预留更多资源。
源试用 | 跟踪 bug #397832388 | ChromeStatus.com 条目
WebGPU 兼容模式
添加了可运行较旧的图形 API(例如 OpenGL 和 Direct3D11)的 WebGPU API 的选择性加入、轻度受限子集。通过选择启用此模式并遵守其限制,开发者可以将 WebGPU 应用的覆盖范围扩展到许多没有核心 WebGPU 所需的现代显式图形 API 的旧设备。
源试用 | 跟踪 bug #40266903 | ChromeStatus.com 条目 | 规范
弃用和移除
停止从预提取和预渲染中发送 Purpose: prefetch 标头
现在,预提取和预渲染使用 Sec-Purpose
标头进行预提取和预渲染,我们将移除目前仍在传递的旧版 Purpose: prefetch 标头。这将位于功能标志/ 紧急停止开关后面,以防止出现兼容性问题。
这将限定为推测规则预提取、推测规则预渲染、<link rel=prefetch>
和 Chrome 的非标准 <link rel=prerender>
。
跟踪 bug #420724819 | ChromeStatus.com 条目 | 规范
移除对 macOS 11 的支持
Chrome 138 是支持 macOS 11 的最后一个版本。从 Chrome 139 开始,不再支持 macOS 11。
在搭载 macOS 11 的 Mac 上,Chrome 将继续运行,并显示警告信息栏,但不会再进行任何更新。如需更新 Chrome,您需要将计算机更新到受支持的 macOS 版本。
对于从 Chrome 139 开始的新安装,需要使用 macOS 12 或更高版本。
移除 HTML 中 ISO-2022-JP
字符集的自动检测
ISO-2022-JP
的字符集自动检测功能存在已知安全问题。
鉴于使用率非常低,且 Safari 不支持自动检测 ISO-2022-JP
,因此 Chrome 139 中移除了相关支持。