Published: May 1, 2025
除非另有说明,否则以下更改适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道版本。如需详细了解此处列出的功能,请点击提供的链接或访问 ChromeStatus.com 上的列表。截至 2025 年 4 月 30 日,Chrome 130 为 Beta 版。您可以在 Google.com 上下载桌面版最新版本,或在 Android 上的 Google Play 商店中下载。
CSS 和界面
此版本新增了 7 项 CSS 和界面功能。
if() 函数
CSS if() 函数提供了一种简洁的方式来表达条件值。它接受一系列以英文分号分隔的条件-值对。该函数会按顺序评估每个条件,并返回与第一个 true 条件关联的值。如果没有任何条件的评估结果为 true,该函数会返回一个空令牌流。这样,您就可以以简单简洁的方式表达复杂的条件逻辑。示例:
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 键键盘焦点导航时聚焦的顺序。它采用以下某个关键字值:
normalflex-visualflex-flowgrid-rowsgrid-columnsgrid-ordersource-order
reading-order CSS 属性可让您手动替换阅读流容器中的顺序。它是一个整数,默认值为 0。
如需了解详情,请参阅使用 CSS reading-flow 进行逻辑顺序焦点 导航,并试用一些阅读 流示例。
offset-path: shape()
shape() 函数已在 clip-path 中受支持,并允许响应式剪辑。如果也为 offset-path 启用此函数,则可以缩小差距,以便为该属性使用相同类型的形状。
支持 SVGSVGElement 上的 transform 属性
借助此功能,您可以使用 <svg> 根元素
的 transform 属性,将转换属性(例如
缩放、旋转、平移和倾斜)直接应用于该元素。通过此增强功能,您可以将整个 SVG 坐标系或其内容作为一个整体进行操作,从而在创建动态、响应式和交互式矢量图形时提供更大的灵活性。通过支持此属性,您可以转换 SVG 元素,而无需额外的封装容器元素或复杂的 CSS 变通方案,从而简化构建可缩放和动画 Web 图形的过程。
允许 <use> 通过省略片段来引用外部文档的根元素。
在此功能中,我们通过放宽
引用要求来简化 SVG <use> 元素。目前,您需要在 SVG 文档中明确引用片段。如果未提供任何片段 ID,<use> 将无法
解析目标,并且不会呈现或引用任何内容。
借助此功能,您可以省略片段或仅提供外部 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 调用堆栈。
Canvas 浮点颜色类型
引入了使用浮点像素格式(而不是 8 位
定点)的功能,适用于 CanvasRenderingContext2D、
OffscreenCanvasRenderingContext2D 和 ImageData。这对于高精度应用(例如医学可视化)、高动态范围内容和线性工作颜色空间是必需的。
禁止不可信的纯文本 HTTP 预渲染
目前,预渲染允许通过 HTTP 和 HTTPS 进行,而预提取仅适用于 HTTPS。将预渲染限制为与预提取保持一致。
Document-Isolation-Policy
Document-Isolation-Policy 可让文档自行启用 crossOriginIsolation,而无需部署 COOP 或
COEP,并且无论页面的 crossOriginIsolation 状态如何。该政策由进程隔离提供支持。此外,文档非 CORS
跨源子资源将以不带凭据的方式加载,或者需要具有 CORP 标头。
如需了解详情,请参阅文档隔离政策:轻松启用强大的 Web 功能 。
Web 加密中的 Ed25519
此功能在 Web 加密 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 会返回检测到的语言的有序列表,以及每个结果的置信度得分。
(可选)开发者可以在创建 Language Detector 实例时传入预期输入语言的列表,以帮助针对预期对某些语言执行检测的用例进行优化。
限制 SVGMatrix、SVGRect 和 SVGPoint 上的浮点属性和参数
在 SVGMatrix、SVGRect 和 SVGPoint 上设置浮点属性或参数时,您现在无法将其设置为 Infinity 或
Nan。如果您尝试设置它,系统会抛出 JavaScript 异常,如 SVG 规范中所定义。
Selection 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。 当渲染器被 full-frame-rate 令牌阻塞时,渲染器将以较低的帧速率运行,以便为加载保留更多资源。
暂停未渲染的 iframe 中的媒体播放
添加了 "media-playback-while-not-rendered" 权限政策,允许嵌入网站暂停未渲染的嵌入式 iframe 的媒体播放,也就是说,将其“display”属性设置为“none”。这应该允许开发者构建更友好的用户体验,还可以让浏览器处理对用户不可见的内容的播放,从而提高性能。
Rewriter API
Rewriter API 由设备端 AI 语言模型提供支持,可按照请求的方式转换和改写输入文本。开发者可以使用此 API 来移除文本中的冗余内容,以符合字数限制;改写消息以适应目标受众,或者在发现消息使用有害语言时使其更具建设性;改写帖子或文章以使用更简单的字词和概念,等等。
Writer API
Writer API 由设备端 AI 语言模型提供支持,可用于根据写作任务提示编写新材料。开发者将能够使用此 API 来生成结构化数据的文本说明,根据评论或商品说明撰写有关商品的帖子,将赞成和反对列表扩展为完整视图,等等。