发布时间:2025 年 5 月 28 日
除非另有说明,否则以下更改适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道版本。如需详细了解此处列出的功能,请访问提供的链接或查看 ChromeStatus.com 上的列表。 截至 2025 年 5 月 28 日,Chrome 138 仍处于 Beta 版阶段。 您可以在 Google.com 上下载桌面版最新版,也可以在 Android 设备上的 Google Play 商店中下载。
CSS 和界面
此版本新增了六项 CSS 和界面功能。
CSS stretch 大小调整关键字
CSS 大小调整属性(例如 width 和 height)的关键字,可让元素扩展到正好填满其包含块的可用空间。它与 100% 类似,不同之处在于,所得的大小会应用于元素的边距框,而不是 box-sizing 所指示的框。使用此关键字可让元素在保持边距的同时尽可能大。
CSS 符号相关函数:abs()、sign()
与符号相关的函数 abs() 和 sign() 用于计算与其实参符号相关的各种函数。
用于操作系统级字体缩放的 CSS env 变量
向 CSS 公开用户的首选字体缩放比例。目前,网页无法检测用户是否已通过操作系统偏好设置更改其首选字体大小。此 CSS 环境变量将反映用户选择的缩放比例。
CSS sibling-index() 和 sibling-count()
sibling-index() 和 sibling-count() 函数可用作 CSS 属性值中的整数,以根据元素在其同级元素中的位置或同级元素的总数来设置元素的样式。这些函数可以直接用作整数值,但更有趣的是在 calc() 表达式中使用。
li {
animation-delay: calc(0.1s * sibling-index());
}
插值进度功能性表示法:CSS progress() 函数
progress() 函数表示法是一种数学函数,用于返回一个 <number> 值,该值表示一次计算(进度值)在另外两次计算(进度起始值和进度结束值)之间的位置。
Viewport Segments Enumeration API
借助 Viewport Segments API,开发者可以调整网页布局,以适应可折叠设备。视口段用于定义视口中逻辑上独立的区域的位置和尺寸。当视口被一个或多个充当分隔线的硬件功能(例如折叠或单独显示屏之间的铰链)分割时,就会创建视口段;段是开发者可以视为逻辑上不同的视口区域。
Web API
向 WebCodecs 添加了对视频帧方向元数据的支持
在 WebCodecs 中为各种视频相关接口引入了 rotation: int 和 flip: bool 值,以便开发者能够处理具有方向的帧来源(例如,Android 相机和某些媒体)。VideoFrame 接口增强了创建具有任意旋转和翻转的 VideoFrame 的能力,并为 VideoFrame 对象上的此信息添加了访问器。VideoDecoderConfig 对象会获得 rotation 和 flip 字段,这些字段会自动在解码的 VideoFrame 对象上发出。VideoEncoder 类获得了用于将旋转和翻转信息从 encode() 传递到作为 EncodedVideoChunkMetadata 的一部分发出的 VideoDecoderConfig 的机制。如果使用不同方向的帧调用 encode(),则会抛出非致命异常。configure() 方法可用于重置允许的屏幕方向。
Crash Reporting API:is_top_level 和 visibility_state
此功能向发送到崩溃报告默认报告端点的崩溃报告 API 正文中添加了 is_top_level 和 visibility_state 字符串字段。
在序列化时转义属性中的 < 和 >
在序列化时转义属性值中的 < 和 >。这样可以降低发生突变型 XSS 攻击的风险。当属性的值在序列化和重新解析后被解读为起始标记令牌时,就会发生突变型 XSS 攻击。
脚本的诚信政策
借助子资源完整性 (SRI),开发者可以确保他们打算加载的资源确实是他们正在加载的资源。但目前,开发者无法确定其所有脚本是否都已使用 SRI 进行验证。借助 Integrity-Policy 标头,开发者可以断言给定类型的每个资源都需要进行完整性检查。如果尝试在没有完整性元数据的情况下加载相应类型的资源,该尝试将失败并触发违规报告。
可预测的报告存储空间配额
针对没有无限存储权限的网站,通过 StorageManager 的 Estimate API 报告可预测的存储空间配额。由于无痕模式下提供的存储空间比常规模式下小得多,因此可以使用报告的存储空间配额来检测用户的浏览模式。
此缓解措施通过在所有浏览模式下为存储权限有限的网站报告一个人工配额(等于用量 + 最小用量 [10 GiB,磁盘空间向上取整到最接近的 GiB 数值]),来防止使用存储 API 检测用户的浏览模式。具有无限存储权限的网站不受影响。强制执行的配额也不会受到影响。
重新订阅时的 pushsubscriptionchange 事件
当之前存在推送订阅的源站因权限更改(从“已授予”变为“拒绝”/“默认”)而被撤消推送订阅,但随后又重新获得通知权限时,在服务工作线程中触发 pushsubscriptionchange 事件。系统将触发一个包含空 oldSubscription 和 newSubscription 的事件。
推测规则:将 prefetchCache 和 prerenderCache 添加到 Clear-Site-Data 标头
Clear-Site-Data 标头新增了两个值,可帮助开发者以清除预渲染和预提取缓存为目标:prefetchCache 和 prerenderCache。
这些提示可以在任何请求中发送,无需在文档请求中发送(例如,可以在“添加到购物车”或登录和退出 API 调用响应中返回,以清除有关状态更改的推测)。
推测规则:target_hint 字段
此功能扩展了推测规则语法,使开发者可以指定 target_hint 字段。此字段提供了一个提示,用于指示预渲染的网页最终将被激活的目标可导航位置。当 _blank 被指定为提示时,可以为由 window.open() 打开的可导航页面激活预渲染页面。该字段不支持预提取。
针对 Storage Access API 的严格同源政策
调整 Storage Access API 语义,以严格遵循同源政策(在安全性方面)。也就是说,在框架中使用 document.requestStorageAccess() 默认只会将 Cookie 附加到 iframe 来源(而非网站)的请求。
Summarizer API
一个 JavaScript API,用于生成输入文本的摘要,由 AI 语言模型提供支持。浏览器和操作系统越来越需要能够访问语言模型。通过公开此内置模型,我们避免了每个网站都需要下载自己的数 GB 语言模型或将输入文本发送到第三方 API。具体而言,总结器 API 会公开一个高级 API,用于与语言模型进行交互,以便针对各种使用情形总结输入内容,而无需依赖于所讨论的特定语言模型。企业政策 (GenAILocalFoundationalModelSettings) 可用于停用基础模型下载功能,从而使此 API 无法使用。
如需了解详情,请参阅利用内置 AI 生成简洁摘要。
Language Detector API
一种 JavaScript API,用于检测特定文本中使用的语言,并提供置信度。语言检测是翻译的重要补充,可以与 Translator API 结合使用。例如,获取未知语言的用户输入,确定其语言,然后将其翻译为特定的目标语言。虽然浏览器通常已具备语言检测功能,但此 API 可通过 JavaScript API 为 Web 开发者提供相同的强大功能,从而补充翻译 API。
您可以使用企业政策 (GenAILocalFoundationalModelSettings) 停用基础模型的下载,这样会使此 API 无法使用。
如需了解详情,请参阅使用内置 AI 检测所用语言。
Translator API
一种 JavaScript API,用于为网页提供语言翻译功能。
虽然浏览器正越来越多地向用户提供语言翻译功能,但此类翻译功能对 Web 开发者也很有用。当浏览器内置的翻译功能无法提供帮助时(例如在直播和互动服务中),这种情况尤为明显。企业政策 (GenAILocalFoundationalModelSettings) 可用于停用基础模型下载,从而使此 API 不可用。
如需了解详情,请参阅使用内置 AI 进行翻译。
Web 应用范围扩展
添加了一个 "scope_extensions" Web 应用清单字段,可让 Web 应用将其范围扩展到其他来源。这样一来,控制多个子网域和顶级网域的网站就可以作为单个 Web 应用呈现。需要使用 .well-known/web-app-origin-association 配置文件确认与 Web 应用的关联。
Android 上通过蓝牙使用 Web Serial 功能
此功能允许网页和 Web 应用在 Android 设备上通过蓝牙连接到串行端口。Android 设备上的 Chrome 现在支持通过蓝牙 RFCOMM 使用 Web Serial API。其他平台上的现有企业政策(DefaultSerialGuardSetting、SerialAllowAllPortsForUrls、SerialAllowUsbDevicesForUrls、SerialAskForUrls 和 SerialBlockedForUrls)在 Android 上处于 future_on 状态。启用此功能后,除了 SerialAllowUsbDevicesForUrls 之外的所有政策都将启用。在 Android 提供有线串行端口的系统级支持后,SerialAllowUsbDevicesForUrls 将在未来的发布版本中启用。
弃用和移除
此版本的 Chrome 引入了以下弃用和移除功能。 如需查看计划弃用、当前弃用和之前移除的功能列表,请访问 ChromeStatus.com。
此版本的 Chrome 弃用了两项功能。
弃用媒体源扩展的异步范围移除功能
媒体源标准很久以前就已更改,不再允许涉及异步范围移除的模糊定义行为:
SourceBuffer.abort()不再中止SourceBuffer.remove()操作。- 设置
MediaSource.duration不再截断当前缓冲的媒体。
现在,在这两种情况下都会抛出异常。
移除 SwiftShader 回退
允许自动回退到由软件渲染器 SwiftShader 支持的 WebGL 已被弃用,WebGL 上下文创建将失败,而不是回退到 SwiftShader。这样做主要有两个原因:
- 由于 JIT 编译的代码在 Chromium 的 GPU 进程中运行,SwiftShader 存在很高的安全风险。
- 当用户从高性能 GPU 支持的 WebGL 回退到 CPU 支持的实现时,体验会很差。用户无法控制此行为,并且很难在 bug 报告中描述此行为。
在弃用期间,当创建由 SwiftShader 支持的 WebGL 上下文时,Chrome 开发者工具控制台中会显示警告。通过 --enable-unsafe-swiftshader 将会移除此警告消息。