Chrome 148 Beta 版

Published: April 8, 2026

除非另有说明,否则以下更改适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道版本。如需详细了解这些功能,请使用提供的链接或访问 ChromeStatus.com。截至此版本,Chrome 仍处于 Beta 版阶段。您可以从 Google.com 下载适用于 桌面设备的最新 Beta 版,也可以从 Android 上的 Google Play 商店下载。

CSS 和界面

CSS 中仅限名称的容器查询

您现在可以仅根据 CSS 容器的 container-name 查询该容器,而无需在该元素上设置 container-type

#container {
  container-name: --foo;
}
@container --foo {
  input { background-color: green; }
}
<div id="container">
  <div><input></div>
</div>

在用户互动时剪辑文本溢出

当用户与设置了 text-overflow: ellipsis 的文本互动(例如,通过修改或使用插入符号导航)时,文本会暂时从省略号切换为剪辑。这样,用户就可以查看隐藏的溢出内容并与之互动。此功能适用于所有可修改和不可修改的元素。对于 表单控件(例如 <textarea><input>),系统已 支持此行为。

dragEnterdragLeavedragOver 事件正确设置 dropEffect

拖放规范要求 dataTransfer 对象的 dropEffect 属性在 dragEnterdragOverdragLeave 上具有某些预先确定的值。dragEnterdragOver 应具有基于当前 effectAlloweddropEffectdragLeave 应始终具有 none dropEffect。目前,Chrome 不遵守这些规则。 从 Chrome 148 开始,Chrome 将遵守规范并为此属性分配正确的值。

延迟加载视频和音频元素

此功能会将 loading 属性添加到 <video><audio> 元素。 这样,开发者就可以使用 loading="lazy" 延迟加载媒体资源,直到元素靠近 视口为止。这与 <img><iframe> 元素的现有延迟加载行为一致,从而提高了网页加载性能并减少了流量消耗。

用于功能检测的 CSS at-rule() 函数

此功能会将 at-rule() 函数添加到 CSS @supports,以便作者检测对 CSS at-rules 的功能支持。

添加 revert-rule 关键字

revert-rule 关键字会将级联回滚到上一个规则,类似于 revert-layer 将级联回滚到上一个层的方式。例如:

div { color: green; }
div { color: revert-rule; /* Effectively green */ }

这对于条件语句尤其有用,因为如果条件不满足,您可以消除当前规则:

div {
  display: if(style(--layout: fancy): grid; else: revert-rule);
}

支持 text-decoration-skip-ink: all

此功能增加了对 CSS text-decoration-skip-ink 属性的 all 值的支持。 text-decoration-skip-ink 属性已支持 autononeall 值通过无条件地将墨水跳过应用于所有字形(包括 CJK 字符)来扩展此功能。相比之下,auto 会使 CJK 字符保持不跳过状态,因为墨水跳过往往会在典型的下划线位置为表意文字脚本产生不良的视觉效果。借助text-decoration-skip-ink: all, 调整了text-underline-positiontext-underline-offset 以避免与 CJK 字形冲突的作者可以明确选择为 这些字符启用墨水跳过。

Web API

本地化清单成员

此功能支持清单成员的本地化,让应用可以根据用户的语言和地区调整其名称、说明、图标和快捷方式。开发者在 Web 应用清单中提供本地化值。浏览器会根据用户的语言设置自动选择合适的资源,从而在不同市场中引入语言支持。

支持 Open Font Format avar2 进行文本塑形和字形渲染

avar(轴变体)表的第 2 版让字体设计人员可以创建可变字体,并更好地控制插值。虽然原始可变字体规范独立处理轴,但 avar2 允许轴相互影响。这样一来,内容作者可以更轻松地使用字体,并实现紧凑型存储。

Avar2 的工作方式是使用相同的熟悉字体变体概念,但它允许您将可变增量值应用于设计轴本身。您可以在多个轴的范围内执行此操作。

例如,您可以创建元滑块,一次控制多个变体轴。这样,用户就不必微调和查找字体设计空间的有用角落。

Avar2 让字体设计人员可以更好地控制字体的可用变体空间,并协调多个轴的设计轴调整。通过在 avar 第 2 版表中以数学方式定义轴之间的关系,字体可以使用较少的母版实现复杂的设计。这样可以更高效地存储插值,从而减小文件大小。

Web 身份验证即时界面模式

navigator.credentials.get() 的这种新模式会导致浏览器登录界面向用户显示,前提是浏览器立即知道网站的通行密钥或密码。否则,如果没有此类凭据,它会使用 NotAllowedError 拒绝 Promise。这样,如果浏览器可以提供可能成功的登录凭据选择,网站就可以避免显示登录页面。对于不存在此类凭据的情况,它仍然允许登录页面流程。

在 Android 上支持 Web Serial API

Web Serial API 提供了一个用于连接到串行设备的接口。这些设备可以通过用户系统上的串行端口连接,也可以通过模拟串行端口的可移除 USB 和蓝牙设备连接。该 API 现在在 Android 上受支持。

用户(尤其是在教育、业余爱好和工业领域)会将外围设备连接到需要自定义软件来控制的计算机。 例如,机器人技术通常用于在学校教授计算机编程和电子学。这需要能够将代码上传到机器人或远程控制机器人的软件。在工业或业余爱好环境中,铣床、激光切割机或 3D 打印机等设备由连接的计算机上运行的程序控制。这些设备通常通过串行连接由小型微控制器控制。

WebGPU linear_indexing 功能

此功能添加了两个新的计算着色器内置值,以改善用户体验。这些值针对所有后端实现(作为现有内置值的 Polyfill)。

在 Android 上支持 SharedWorker

长期以来,由于担心 SharedWorker 的进程生命周期不可预测,因此在 Android 上禁用了 SharedWorker。Chrome 开发者认为,SharedWorker 实例可能会意外终止,而不会通知用户或 Web 开发者。这被认为是不可接受的。

不过,GitHub 上最近的一次讨论 表明, SharedWorker 的进程生命周期的不可预测性可能不像之前认为的那么严重。基于此,Chrome 正在重新启用 Android 上的 SharedWorker,同时调查此行为,以确保稳定可靠的体验。

延长共享工作器的生命周期

此更新为 SharedWorker 构造函数添加了一个新选项 extendedLifetime: true。这会请求共享工作器即使在所有当前客户端都已卸载后仍保持活跃状态。主要用例是让页面在页面卸载后执行需要 JavaScript 的异步工作,而无需依赖于 Service Worker。

Prompt API

借助 Prompt API,Web 开发者可以直接访问浏览器提供的 设备端 AI 语言模型。该 API 设计提供了精细的控制,与云 API 形状保持一致。这样,您就可以通过针对个性化用例量身定制的模型互动,逐步增强网站。这补充了基于任务的 语言模型 API(例如 Summarizer API)以及各种 API 和框架 ,以便使用开发者提供的 ML 模型进行广义设备端推理。初始实现支持文本、图片和音频输入,以及 确保生成的文本符合预定义的正则表达式和 JSON 架构格式的响应约束

这支持各种用例。例如,它可以生成图片说明、执行视觉搜索、转录音频、对声音事件进行分类、按照特定说明生成文本,以及从多模态素材中提取信息或洞见。

此 API 已在 Chrome 扩展程序中发布。此 intent 会跟踪 Web 上的发布情况。企业政策 GenAILocalFoundationalModelSettings 可用于停用底层模型下载,这会使此 API 不可用。企业管理员还可以设置 BuiltInAIAPIsEnabled 政策,以阻止内置 AI API 的使用,同时仍允许其他设备端生成式 AI 功能。

语言支持日志:

  • Chrome 139 及更低版本仅支持英语 ('en')。
  • Chrome 140 添加了对西班牙语和日语('es''ja')的支持。

获取安全付款确认功能

此功能为 Payment Request API 添加了一个新的静态方法,让 Web 开发者可以获取浏览器实现安全付款确认的功能。这有助于 Web 开发者了解安全付款确认有哪些功能可用。然后,他们可以决定是否使用具有这些功能的安全付款确认。

IDNA ContextJ 规则

IDNA 是域名中非 ASCII 字符的机制。它会将 http://네이버.한국/ 等网址编码为 http://xn--950bt9s8xi.xn--3e0b707e/(重定向到 naver.com)。

网址规范设置了 CheckJoiners 标志,该标志会在 IDNA2008 中启用 ContextJ 规则。这不允许在网址的大部分位置使用 ZWNJ (U+200C ZERO WIDTH NON-JOINER) 和 ZWJ (U+200D ZERO WIDTH JOINER)。该实现会将 UIDNA_CHECK_CONTEXTJ 选项传递给 ICU,并在其中实现此规则。

在相同来源重新分配时重复使用 no-store 图片

此功能允许在将相同的 src 值重新分配给 <img> 元素时,同一文档中可用的图片重复使用绕过 Cache-Control: no-store 重新加载。 以前,即使图片已解码并可在文档中使用,Blink 也会重新提取图片。这与现有的 Gecko 和 WebKit 行为一致。

contentType 字段添加到 Resource Timing

此功能会将 contentType 字段添加到 PerformanceResourceTiming,以保存与服务器返回的所提取资源的 content type 对应的字符串。

在拖动开始时禁止指针事件

根据 HTML 规范,当拖动开始时,用户代理应向拖动源发送适当的事件,以表明指针事件流已结束,并且不应再从该指针接收任何事件。此代码已针对鼠标事件部分实现,并针对 Android 上的触摸拖动完全实现。借助此功能,Chrome 旨在完全满足所有其他平台上的此规范要求。实际上,这意味着在拖动开始后,拖动源现在将收到 pointercancelpointeroutpointerleave 事件,以表明当前事件流已完成。

WebRTC Datachannel:始终协商数据通道

此功能实现了一个 WebRTC 扩展程序 alwaysNegotiateDataChannels,该扩展程序定义了应用在创建数据通道之前在 SDP 提议中协商数据通道的方式。它还会在任何音频或视频 m 部分之前协商数据 m= 部分,并将其用作 [BUNDLE] 的“提供者标记的 m= 部分”。

这意味着,如果您使用 alwaysNegotiateDataChannels: true 创建 RTCPeerConnection,然后调用 createOffer(),它会在 SDP 中创建一个包含应用 m-line 的提议。例如:

  const pc = new RTCPeerConnection({
    alwaysNegotiateDataChannels: true});
  const offer = await pc.createOffer();

如果您还添加了音频收发器和数据通道,则提议会在 SDP 中协商应用 m-line,然后协商音频 m-line:

  const pc = new RTCPeerConnection({
    alwaysNegotiateDataChannels: true});
  pc.addTransceiver('audio');
  pc.createDataChannel('somechannel');
  const offer = await pc.createOffer();

新的来源试用

在 Chrome 148 中,您可以选择加入以下新的 来源试用

代理联合登录

一组 FedCM 扩展程序,可帮助代理浏览器使用用户的联合账号安全地登录网站。

连接许可名单

连接许可名单是一项功能,旨在通过限制从文档或工作器通过 Fetch API 或其他 Web 平台 API 发起的连接,来提供对外部端点的显式控制。建议的实现通过 HTTP 响应标头从服务器分发授权的端点列表。在用户代理代表页面建立任何连接之前,代理会根据此许可名单评估目标。系统允许连接到经过验证的端点,而无法与列表中的条目匹配的连接会被阻止。

容器计时

借助 Container Timing API,您可以监控 DOM 的带注释部分何时显示在屏幕上并完成初始绘制。您可以使用 containertiming 属性标记 DOM 的子部分(类似于 Element Timing API 的 elementtiming),并在该部分首次绘制时接收性能条目。借助此 API,您可以测量页面中各种组件的计时。

声明性 CSS 模块脚本

声明性 CSS 模块脚本是现有基于脚本的 CSS 模块脚本的扩展。它们让开发者可以与影子根(包括声明性影子根)共享声明性样式表。开发者可以使用内嵌样式 模块,并通过引用specifier或网址(例如 <template shadowrootmode="open" shadowrootadoptedstylesheets="foo">)将声明性 模块应用于声明性影子 DOM。<style type="module" specifier="foo">

画布中的 HTML

HTML-in-canvas 是一种新的 API,可让您直接将渲染 DOM 元素自定义到画布或 WebGL / WebGPU 纹理中,同时保持内容的互动性和无障碍功能。它包含三个部分: 用于选择启用画布元素的属性 (layoutsubtree)、 用于绘制子元素的方法 (2d: drawElementImagewebgl:texElementImage2Dwebgpu: copyElementImageToTexture)、 以及一种在屏幕上正确更新元素的转换 以实现互动性的方法。

长动画帧样式时长

此功能将 styleDurationforcedStyleDuration 信息添加到 Long Animation Frame API。这样,开发者就可以区分样式和布局时间。

OpaqueRange

OpaqueRange 表示表单控件值 (例如 <textarea> 或文本 <input>)中的实时文本范围, 因此开发者可以使用类似范围的 API 处理值文本。

它支持 getBoundingClientRect()getClientRects() 等操作,并可与 CSS Highlights API 搭配使用,以实现内嵌建议、突出显示和锚定弹出式窗口等界面。它仅公开值偏移量(并为 startContainerendContainer 返回 null)来保留封装,因此不会公开 DOM 端点和内部结构。

解析 HTML 中的处理指令

处理指令(语法:<?target data>)是一种现有的 DOM 结构,在 XML 中公开。此结构允许非元素的节点对象具有用于处理文档的语义含义。例如,您可以使用它们来表示流式传输或突出显示的范围,而无需新的 DOM 元素,并且就 CSS 而言,无需更改 DOM 结构。您还可以将它们用作 HTML 解析器关于如何缓冲和流式传输的指令。

权限政策:focus-without-user-activation

此政策通过 focus-without-user-activation 权限政策,让嵌入者可以控制来自嵌入内容的程序化焦点。如果框架被拒绝该政策,则程序化焦点调用(element.focus()autofocuswindow.focus()dialog.showModal() 和弹出式窗口聚焦)将被阻止,除非由用户激活触发。用户发起的焦点(例如点击或按 Tab 键)永远不会受到影响。您可以通过 Permissions-Policy HTTP 响应标头或 iframe allow 属性设置该政策。系统支持焦点委托。即使子框架被拒绝该政策,具有焦点的父框架也可以以编程方式将焦点传递给子 iframe。框架获得焦点后,可以在自己的子树中移动焦点。

Prompt API 抽样参数

此功能为 Prompt API 添加了抽样参数。这些参数控制着如何从模型中抽样 token,从而让开发者可以控制输出的创造性或随机性。此外,它还为 LanguageModel 实例添加了属性,以读取设置的值。它还添加了一个静态 LanguageModel 函数,用于获取这些参数的默认值和最大值。第一个实现添加了 temperaturetopK 参数。

Web 应用 HTML 安装元素

借助此功能,网站可以以声明方式提示用户安装 Web 应用。该元素可以选择接受两个属性,让您可以安装来自不同来源的内容。