发布时间:2026 年 4 月 8 日
除非另有说明,否则以下变更适用于 Android、ChromeOS、Linux、macOS 和 Windows 的最新 Chrome Beta 版渠道版本。如需详细了解这些功能,请点击提供的链接或访问 ChromeStatus.com。此版本发布时,Chrome 处于 Beta 版阶段。您可以从 Google.com 下载适用于桌面设备的最新 Beta 版,也可以从 Google Play 商店下载适用于 Android 设备的最新 Beta 版。
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>),此行为已受支持。
为 dragEnter、dragLeave 和 dragOver 事件正确设置 dropEffect
拖放规范要求 dataTransfer 对象的 dropEffect 属性在 dragEnter、dragOver 和 dragLeave 上具有某些预定值。dragEnter 和 dragOver 应具有基于当前 effectAllowed 的 dropEffect。dragLeave 应始终具有 none dropEffect。目前,Chrome 不会遵循这些规则。
从 Chrome 148 开始,Chrome 将遵循规范,为此属性分配正确的值。
延迟加载视频和音频元素
此功能会将 loading 属性添加到 <video> 和 <audio> 元素中。
这样,开发者就可以使用 loading="lazy" 将媒体资源加载推迟到元素靠近视口时。这与 <img> 和 <iframe> 元素的现有延迟加载行为一致,可提高网页加载性能并减少流量消耗。
用于功能检测的 CSS at-rule() 函数
此功能向 CSS @supports 添加了 at-rule() 函数,使作者能够检测对 CSS at-rule 的支持。
添加 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 属性已支持 auto 和 none。all 值对此进行了扩展,将墨水跳过功能无条件应用于所有字形,包括 CJK 字符。相比之下,auto 不会跳过 CJK 字符,因为在典型的下划线位置,跳过墨迹往往会给表意文字带来不理想的视觉效果。借助 text-decoration-skip-ink: all,已调整 text-underline-position 或 text-underline-offset 以避免与 CJK 字形冲突的作者可以明确选择为这些字符启用墨水跳过功能。
Web API
本地化清单成员
此功能支持清单成员的本地化,使应用能够根据用户的语言和区域调整其名称、说明、图标和快捷方式。开发者在 Web 应用清单中提供本地化值。浏览器会根据用户的语言设置自动选择适当的资源,从而在不同市场中引入语言支持。
支持 Open Font Format avar2,用于文本整形和字形渲染
借助第 2 版 avar(轴变体)表,字体设计人员可以创建可变字体,并更好地控制插值。虽然原始可变字体规范会独立处理轴,但 avar2 可让轴相互影响。这样,内容作者可以更轻松地使用字体,并实现紧凑存储。
Avar2 的工作原理是使用相同的熟悉字体变体概念,但它允许您将可变增量值应用于设计轴本身。您可以在多个轴的范围内执行此操作。
例如,您可以创建同时控制多个变体轴的元滑块。这样,用户就无需微调和寻找字体设计空间的有用角落。
Avar2 让字体设计师能够更好地控制其字体的可用变体空间,并让他们能够跨多个轴协调设计轴的调整。通过在 avar 版本 2 表中以数学方式定义轴之间的关系,字体可以使用更少的母版实现复杂的设计。这会减小文件大小,因为插值存储效率更高。
Web 身份验证即时界面模式
如果浏览器立即知道网站的通行密钥或密码,navigator.credentials.get() 的这种新模式会向用户显示浏览器登录界面。否则,如果没有此类凭据,它会拒绝该 Promise 并返回 NotAllowedError。这样,如果浏览器可以提供可能成功的登录凭据选项,网站就可以避免显示登录页面。如果不存在此类凭据,它仍允许使用登录页面流程。
Android 上的 Web Serial API 支持
Web Serial API 提供了一个用于连接到串行设备的接口。这些设备可以通过用户系统上的串行端口进行连接,也可以通过模拟串行端口的可移动 USB 和蓝牙设备进行连接。该 API 现已在 Android 上受支持。
用户(尤其是教育、业余爱好者和工业领域的用户)会将外围设备连接到其计算机,这些设备需要自定义软件来控制。例如,学校经常使用机器人来教授计算机编程和电子学。这需要使用能够将代码上传到机器人或远程控制机器人的软件。在工业或业余爱好者环境中,设备(例如铣床、激光切割机或 3D 打印机)由连接的计算机上运行的程序控制。这些设备通常由小型微控制器通过串行连接进行控制。
WebGPU linear_indexing 功能
此功能添加了两个新的计算着色器内置值,以提升用户体验。这些值针对所有后端实现(作为现有内置值的 polyfill)。
Android 上的 SharedWorker 支持
长期以来,由于担心 SharedWorker 的进程生命周期不可预测,Android 一直停用该功能。Chrome 开发者认为,SharedWorker 实例可能会在不通知用户或 Web 开发者的情况下意外终止。这被认为是不可接受的。
不过,GitHub 上最近的一项讨论表明,SharedWorker 进程生命周期的不可预测性可能不像之前认为的那样严重。基于此,Chrome 正在 Android 上重新启用 SharedWorker,同时调查此行为,以确保稳定可靠的体验。
延长了 Shared Worker 的生命周期
此更新向 SharedWorker 构造函数添加了一个新选项 extendedLifetime: true。这会请求共享 worker 即使在所有当前客户端都已卸载后仍保持活跃状态。主要用例是让网页在卸载后执行需要 JavaScript 的异步工作,而无需依赖 Service Worker。
Prompt API
Prompt API 可让 Web 开发者直接访问浏览器提供的设备端 AI 语言模型。API 设计提供精细控制,与 Cloud API 形状保持一致。这样,您就可以根据个性化应用场景,通过模型互动逐步增强网站功能。这与基于任务的语言模型 API(例如 Summarizer API)以及各种 API 和框架相辅相成,可使用开发者提供的机器学习模型进行通用设备端推理。初始实现支持文本、图片和音频输入,以及回答限制,以确保生成的文本符合预定义的正则表达式和 JSON 架构格式。
这支持各种应用场景。例如,它可以生成图片配文、执行视觉搜索、转写音频、对声音事件进行分类、按照特定指令生成文本,以及从多模态素材中提取信息或数据洞见。
此 API 已在 Chrome 扩展程序中发布。此 intent 会跟踪网站上的配送情况。您可以使用企业政策 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 行为一致。
向 Resource Timing 添加了 contentType 字段
此功能会将 contentType 字段添加到 PerformanceResourceTiming,以保存与所提取资源的内容类型(由服务器返回)相对应的字符串。
在拖动开始时抑制指针事件
根据 HTML 规范,拖动开始时,用户代理应向拖动来源发送适当的事件,以指示指针事件流已结束,并且不应再预期此指针会产生任何事件。此代码已针对鼠标事件部分实现,并针对 Android 上的触摸拖动完全实现。借助此功能,Chrome 旨在在所有其他平台上完全满足此规范要求。实际上,这意味着拖动开始后,拖动来源现在将收到 pointercancel、pointerout 和 pointerleave 事件,以指示当前事件流已完成。
WebRTC Datachannel:始终协商数据通道
此功能实现了一个 WebRTC 扩展程序 alwaysNegotiateDataChannels,该扩展程序定义了一种方法,供应用在创建数据通道之前在 SDP 提议中协商数据通道。这还会在任何音频或视频 m 部分之前协商数据 m= 部分,并将其用作 [BUNDLE] 的“offerer-tagged m= 部分”。
这意味着,如果您使用 alwaysNegotiateDataChannels: true 创建 RTCPeerConnection,然后调用 createOffer(),它会在 SDP 中创建一个包含应用 m 行的 offer。例如:
const pc = new RTCPeerConnection({
alwaysNegotiateDataChannels: true});
const offer = await pc.createOffer();
如果您还添加了音频收发器和数据通道,则该 offer 会在 SDP 中协商一个应用 m 行,后跟一个音频 m 行:
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 属性(类似于 Element Timing API 的 elementtiming)标记 DOM 的子部分,并在该部分首次绘制时接收性能条目。此 API 可让您衡量网页中各种组件的耗时。
声明式 CSS 模块脚本
声明式 CSS 模块脚本是现有基于脚本的 CSS 模块脚本的扩展。它们允许开发者与 shadow root(包括声明式 shadow root)共享声明式样式表。开发者可以使用 <style type="module" specifier="foo"> 定义内嵌样式模块,并通过引用 specifier 或网址(例如 <template shadowrootmode="open" shadowrootadoptedstylesheets="foo">)将声明式模块应用于声明式 Shadow DOM。
HTML-in-canvas
HTML-in-canvas 是一个新 API,可让您直接在画布或 WebGL/WebGPU 纹理中自定义渲染 DOM 元素,同时保持内容的互动性和无障碍性。它包含三个部分:用于选择启用画布元素的属性 (layoutsubtree)、用于绘制子元素的方法(2d: drawElementImage、webgl:texElementImage2D、webgpu: copyElementImageToTexture),以及在屏幕上正确更新元素转换以实现互动的方式。
长动画帧样式时长
此功能会向 Long Animation Frame API 添加 styleDuration 和 forcedStyleDuration 信息。这样,开发者就可以区分样式和布局时间。
OpaqueRange
OpaqueRange 表示表单控件值(例如 <textarea> 或文本 <input>)中的实时文本 span,因此开发者可以使用类似范围的 API 处理值文本。
它支持 getBoundingClientRect()、getClientRects() 等操作,并可与 CSS Highlights API 搭配使用,以实现内嵌建议、突出显示和锚定弹出式窗口等界面。它仅公开值偏移量(并为 startContainer 和 endContainer 返回 null),从而保留封装,因此 DOM 端点和内部结构不会公开。
解析 HTML 中的处理指令
处理指令(语法:<?target data>)是现有的 DOM 构造,在 XML 中公开。此构造可让非元素的节点对象在处理文档时具有语义。例如,您可以使用它们来表示流式传输或突出显示的范围,而无需新的 DOM 元素,也无需更改 DOM 结构(就 CSS 而言)。您还可以将它们用作 HTML 解析器的指令,以指示如何进行缓冲和流式传输。
权限政策:focus-without-user-activation
此政策允许嵌入器通过 focus-without-user-activation 权限政策控制嵌入式内容的程序化焦点。如果某个框架的政策被拒绝,则程序化焦点调用(element.focus()、autofocus、window.focus()、dialog.showModal() 和弹出式窗口聚焦)会被屏蔽,除非由用户活动触发。用户发起的焦点(例如点击或按 Tab 键)绝不会受到影响。您可以通过 Permissions-Policy HTTP 响应标头或 iframe allow 属性设置该政策。支持焦点委托。获得焦点的父级框架可以通过编程方式将焦点传递给子级 iframe,即使子级 iframe 的政策被拒绝也是如此。框架获得焦点后,便可以在自己的子树中移动焦点。
Prompt API 采样参数
此功能为 Prompt API 添加了采样参数。这些参数控制如何从模型中对 token 进行采样,从而让开发者能够控制输出的创造性或随机性。此外,它还会向 LanguageModel 实例添加属性,以读取设置的值。它还添加了一个静态 LanguageModel 函数,用于获取这些参数的默认值和最大值。第一种实现会添加 temperature 和 topK 参数。
Web 应用 HTML 安装元素
借助此功能,网站可以声明式地提示用户安装 Web 应用。该元素可选择接受两个属性,以便您从其他源安装内容。