发布时间:2025 年 5 月 1 日
除非另有说明,否则以下变更适用于适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版分支。如需详细了解此处列出的功能,请点击所提供的链接或访问 ChromeStatus.com 上的列表。Chrome 130 自 2025 年 4 月 30 日起处于 Beta 版阶段。您可以在桌面版 Google.com 或 Android 版 Google Play 商店下载最新版本。
CSS 和界面
此版本新增了 7 项 CSS 和界面功能。
if()
函数
CSS if()
函数提供了一种简洁的方式来表达条件值。它接受一系列以分号分隔的条件-值对。该函数会依序评估每个条件,并返回与第一个为 true 的条件关联的值。如果所有条件的计算结果均为 false,则该函数会返回一个空令牌流。这样,您就可以以简单简洁的方式表达复杂的条件逻辑。示例:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
reading-flow
和 reading-order
属性
reading-flow
CSS 属性用于控制 Flex、网格或块布局中的元素向无障碍功能工具显示和使用 Tab 键盘焦点导航进行聚焦的顺序。它采用以下某个关键字值:
normal
flex-visual
flex-flow
grid-rows
grid-columns
grid-order
source-order
借助 reading-order
CSS 属性,您可以手动替换阅读流容器内的顺序。它是一个整数,默认值为 0。
如需了解详情,请参阅使用 CSS 阅读流实现逻辑顺序的焦点导航,并尝试一些阅读流示例。
offset-path: shape()
clip-path
已支持 shape()
函数,并允许响应式剪裁。为 offset-path
启用此功能后,可以为该属性使用相同类型的形状,从而弥补了这一小缺口。
支持 SVGSVGElement
上的 transform 属性
借助此功能,您可以使用 <svg>
的 transform 属性直接将转换属性(例如缩放、旋转、平移和扭曲)应用于 <svg>
根元素。借助这项增强功能,您可以整体操控整个 SVG 坐标系或其内容,从而在创建动态、响应迅速且互动性强的矢量图形时获得更大的灵活性。通过支持此属性,SVG 元素无需额外的封装容器元素或复杂的 CSS 权宜解决方法即可进行转换,从而简化了构建可伸缩且带动画的 Web 图形的过程。
允许 <use>
通过省略 fragment 来引用外部文档的根元素。
在此功能中,我们通过放宽引用要求来简化 SVG <use>
元素。目前,您需要在 SVG 文档中明确引用 fragment。如果未指定 fragment ID,<use>
将无法解析目标,并且不会呈现或引用任何内容。
借助此功能,您可以省略 fragment 或仅提供外部 SVG 文件名,系统就会自动引用根元素,这样您就不必仅为了向根元素分配 ID 而修改引用的文档。这项增强功能简化了手动编辑流程并提高了效率。
将 accent-color
属性的系统强调色扩展到了 Windows 和 ChromeOS
这样,您就可以为表单元素使用操作系统的强调色。通过使用 accent-color
CSS 属性,您可以确保复选框、单选按钮和进度条等表单元素自动采用用户操作系统定义的强调色。自 2021 年起,macOS 就支持此功能,现在 Windows 和 ChromeOS 也支持了。
view-transition-name: match-element
view-transition
属性的 match-element
值会根据元素的身份生成唯一 ID,并且对于此元素保持不变。在单页应用场景中,如果元素在移动,并且您希望使用视图转换为其添加动画效果,则可以使用此方法。
Web API
对创建“付款”WebAuthn 凭据时抛出的错误类型进行了统一
更正了为 payment
凭据创建 WebAuthn 凭据期间抛出的错误类型。由于历史规范不一致,在无需用户激活的情况下,在跨源 iframe 中创建 payment
凭据会抛出 SecurityError
,而不是为非付款凭据抛出的 NotAllowedError
。这是一项重大变更。之前用于检测抛出错误类型(例如 e instanceof SecurityError
)的代码将受到影响。仅在凭据创建期间一般处理错误的代码(例如 catch (e)
)将继续正常运行。
Blob 网址分区:提取/导航
作为存储分区的延续,此功能实现了按存储键(顶级网站、帧源和 has-cross-site-ancestor
布尔值)对 Blob 网址访问进行分区,但顶级导航除外,顶级导航将继续仅按帧源进行分区。
您可以通过设置 PartitionedBlobURLUsage
政策来暂时还原此更改。当其他与存储分区相关的企业政策被弃用时,此政策也将被弃用。
来自无响应网页的崩溃报告中的调用堆栈
当网页因 JavaScript 代码运行无限循环或其他非常长的计算而变得无响应时,此功能会捕获 JavaScript 调用堆栈。这有助于开发者更轻松地找出无响应的原因并加以修正。如果原因是无响应,崩溃报告 API 中会包含 JavaScript 调用堆栈。
画布浮点颜色类型
引入了在 CanvasRenderingContext2D
、OffscreenCanvasRenderingContext2D
和 ImageData
中使用浮点像素格式(而不是 8 位固定点)的功能。对于高精度应用(例如医学可视化)、高动态范围内容和线性工作色彩空间,这是必不可少的。
禁止不可信的纯文本 HTTP 预渲染
目前,允许通过 HTTP 和 HTTPS 进行预渲染,而预提取仅适用于 HTTPS。限制预渲染,使其与预提取保持一致。
Document-Isolation-Policy
借助 Document-Isolation-Policy
,文档可以为自身启用 crossOriginIsolation
,而无需部署 COOP 或 COEP,并且无论网页的 crossOriginIsolation
状态如何。该政策由进程隔离机制支持。此外,文档的非 CORS 跨源子资源将在不使用凭据的情况下加载,或者需要带有 CORP 标头。
如需了解详情,请参阅文档隔离政策:轻松启用强大的 Web 功能。
Web 加密中的 Ed25519
此功能在 Web Cryptography API 中添加了对 Curve25519 算法的支持,即签名算法 Ed25519
IP 地址日志记录和报告
Chrome 企业版通过收集和报告本地和远程 IP 地址,并将这些 IP 地址发送到安全调查日志 (SIT),从而增强安全监控和突发事件响应功能。此外,Chrome 企业版还允许管理员选择使用 Chrome 企业版报告连接器将 IP 地址发送给第一方和第三方 SIEM 提供商。此功能将面向 Chrome 企业核心版客户提供。
JavaScript Promise 集成
JavaScript Promise 集成 (JSPI) 是一个 API,可让 WebAssembly 应用与 JavaScript Promise 集成。它允许 WebAssembly 程序充当 Promise 的生成器,并允许 WebAssembly 程序与具有 Promise 的 API 进行交互。具体而言,当应用使用 JSPI 调用具有 Promise 的 (JavaScript) API 时,WebAssembly 代码会被挂起;并且 WebAssembly 程序的原始调用方会收到一个 Promise,该 Promise 将在 WebAssembly 程序最终完成时得到执行。
Language Detector API
Language Detector API 是一个 JavaScript API,用于识别所提供字符串的语言。此 API 由经过微调以执行语言检测任务的基础模型提供支持。
给定一个字符串,Language Detector API 会返回检测到的语言的有序列表,以及每个结果的置信度得分。
开发者可以选择在创建语言检测器实例时传入预期输入语言的列表,以便针对预计要对特定语言执行检测的用例进行优化。
限制 SVGMatrix
、SVGRect
和 SVGPoint
上的浮点属性和参数
现在,在 SVGMatrix
、SVGRect
和 SVGPoint
上设置浮点属性或参数时,您无法将其设置为 Infinity
或 Nan
。如果您尝试进行设置,系统会抛出 JavaScript 异常,如 SVG 规范中所定义。
选择 API getComposedRanges
和 direction
此功能为 Selection API 提供了两个新的 API 方法:
Selection.direction
,用于返回选择的方向("none"
、"forward"
或"backward"
)Selection.getComposedRanges()
,用于返回一个包含 0 或 1 个“组合”StaticRange
的列表
“复合”StaticRange
可以跨越阴影边界,而普通 Range 则不能。
例如:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
如果所选内容跨越了 shadowRoots
列表中未提供的阴影根边界,则 StaticRange
的端点将“重新限定范围”,使其位于该树之外。这可确保我们不会公开未知的阴影树。
Web 应用范围扩展
添加了 scope_extensions
Web 应用清单字段,可让 Web 应用将其范围扩展到其他来源。
示例:
{
"name": "Example",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{"type" : "type", "origin" : "https://example.com"}
]
}
这样,控制多个子网域和顶级域名的网站便可作为单个 Web 应用呈现。
要求所列来源使用 .well-known/web-app-origin-association
配置文件确认与 Web 应用的关联。
{
"https://sample-app.com/": {
"scope": "/"
}
}
WebAssembly 分支提示
通过告知引擎特定分支指令很可能采用特定路径,从而改进编译的 WebAssembly 代码的性能。这样,引擎就能做出更明智的代码布局(提高指令缓存命中率)和寄存器分配决策。
WebGPU:用于 externalTexture
绑定的 GPUTextureView
现在,在创建 GPUBindGroup
时,允许将 GPUTextureView
用于 externalTexture
绑定。
WebGPU:copyBufferToBuffer
过载
GPUCommandEncoder
copyBufferToBuffer()
方法现在包含一种更简单的方法,可使用带有可选偏移量和大小参数的新过载来复制整个缓冲区。
新的来源试用
在 Chrome 137 中,您可以选择加入以下新的源测试。
全帧速率呈现屏蔽属性
向阻塞属性添加了新的渲染阻塞令牌 full-frame-rate。 当渲染程序因完整帧速率令牌而被阻塞时,渲染程序将以较低的帧速率运行,以便为加载预留更多资源。
在未呈现的 iframe 中暂停媒体播放
添加了 "media-playback-while-not-rendered"
权限政策,以允许嵌入网站暂停未呈现的嵌入 iframe 的媒体播放(即将其“display”属性设为“none”)。这样一来,开发者就可以让浏览器处理用户看不到的内容的播放,从而打造更人性化的体验,并提升性能。
Rewriter API
Rewriter API 可根据请求以所需方式转换和重写输入文本,并由设备端 AI 语言模型提供支持。开发者可以使用此 API 移除文本中的重复内容以符合字数限制,改写消息以适应目标受众群体,或者在发现消息使用了有害语言时改写消息以使其更具建设性,改写帖子或文章以使用更简单的字词和概念,等等。
Writer API
Writer API 可用于根据写作任务提示撰写新内容,并由设备端 AI 语言模型提供支持。开发者将能够使用此 API 生成结构化数据的文本说明,根据评价或商品说明撰写商品帖子,将优点和缺点列表展开为完整视图,等等。