Chrome 110 Beta 版

CSS 首字母、Web 应用启动处理程序、FedCM API 的跨源 iframe 支持,等等。

除非另有说明,否则下述变更适用于最新的 Chrome Beta 渠道版本(Android、ChromeOS、Linux、macOS 和 Windows)。如需详细了解本文所列的功能,请访问 ChromeStatus.com 上的相应列表或所提供的链接。Chrome 110 Beta 版自 2023 年 1 月 12 日起进入 Beta 版阶段。您可以在 Google.com 桌面版或 Android 版 Google Play 商店中下载最新版。

CSS

此版本新增了两项 CSS 功能。

CSS 初始字母

首字母字母是大的装饰性字母,自印刷发明以来,就一直用于开始新的文本段落。使用 CSS initial-letter 属性,可以设置首字母字母应转换为以下文本行的行数。在以下示例中,首字母会显示在三行文本中。

.content::first-letter {
  initial-letter: 3;
}

一段文本,包含首字母,组成三行。

CSS 伪类 :picture-in-picture

:picture-in-picture 伪类可帮助 Web 开发者在视频进入和退出画中画时自定义媒体播放器。

试用“画中画”伪类演示

Web API

AudioContext.setSinkId()

AudioContext.setSinkId 设置用于输出的音频设备的 ID。这样,AudioContext 便可将音频路由到用户选择的已连接的输出设备。

如需详细了解此功能,请参阅更改网络音频中的目标输出设备一文。

跨源 iframe 内的 FedCM

通过权限政策为 FedCM API 添加了跨源 iframe 支持。它允许网站对来自身份提供方的脚本进行沙盒化处理,这些脚本会在跨源 iframe 中触发 FedCM API,这样网站就不能完全控制整个网页。这也允许在使用 iframe 本身时需要用户登录的情况。在这两种情况下,父框架都必须为跨源 iframe 提供权限政策 identity-credentials-get

iframe 无凭据

借助无凭据 iframe,开发者可以使用新的临时上下文在第三方 iframe 中加载文档。iframe 无凭据是对 COEP 无凭据的泛化,用于支持无法部署 COEP 的第三方 iframe。这消除了第三方 iframe 必须支持 COEP 才能嵌入到 COEP 页面中的限制,并为希望采用跨源隔离的开发者解锁。

详细了解 iframe 无凭据

FileSystemHandle::remove() 方法

FileSystemHandleremove() 方法适用于常见用例:您从 showSaveFilePicker() 获取文件句柄,但随后决定不保存文件,然后删除文件。在添加此方法之前,无法移除给定其句柄的文件或目录。您必须获取父级目录的句柄并调用 FileSystemDirectoryHandle::removeEntry()

由推测规则 API 触发的预提取

预提取会提取主要资源以用于将来的导航,并将其保留在内存中,以便用于加快下一次导航的速度。此次发布的版本同时支持同网站预提取和跨网站预提取(在没有目标网站的凭据的情况下)。

在网址中使用非过渡式 IDNA 处理

为网址处理启用在非转换模式下的 IDNA 2008,使 Chrome 与 Firefox 和 Safari 的行为保持一致。Chrome 目前在网址处理的过渡模式下使用 IDNA 2008。Transitional 模式和非 Transitional 模式之间的主要区别在于处理四个字符,这些字符被称为“偏差字符:ß (LATIN SMALL LETTER SHARP S)、验证程序 (GREEK SMALL LETTER FINAL SIGMA)、ZWJ(零宽度联接)和 ZWNJ(零宽度非连接符)。在 Transitional 模式下,对偏差字符的处理方式与 IDNA2003 相同:ß 会映射到 ss,针 会映射到 Clickserver,而 ZWJ 和 ZWNJ 会被删除。在非 Transitional 模式下,允许包含这些字符的域名无需映射,因此可以解析为不同的 IP 地址。例如,如果在 Chrome 和 Firefox 中输入 faß.de,今天就会打开不同的网站。在 Chrome 中启用非过渡 IDNA 将允许在域名中使用偏差字符。Firefox 和 Safari 已在 2016 年实施了此项更改,并继续使用非转换网址处理。

Web 应用启动处理程序

添加 launch_handler Web 应用清单成员,使 Web 应用能够在所有类型的应用启动触发器中自定义其启动行为。例如,下面的代码会导致示例应用的所有启动聚焦于一个现有应用窗口并对其进行导航(如果存在),而不是始终启动新的应用窗口。

{
    "name": "Example app",
    "start_url": "/index.html",
    "launch_handler": {
        "client_mode": "navigate-existing"
    }
}

网站共享权限政策

控制对 navigator.share() 的访问权限。默认情况下,第三方 iframe 没有使用 Web Share API 的权限。

正在进行源试用

在 Chrome 110 中,您可以选择启用以下新的源试用

导航预提取缓存中的 No-Vary-Search 支持

启用预提取匹配,即使网址查询参数发生变化也不受影响。No-Vary-Search HTTP 响应标头声明为了缓存匹配,可以忽略网址查询的部分或全部部分。它可以声明查询参数键的顺序不应导致缓存未命中,特定查询参数不应导致缓存未命中,或只有某些已知查询参数会导致缓存未命中。它可能适用于多个缓存,但此条目表示支持预提取缓存。

在导航预提取缓存试用中注册 No-Vary-Search 支持

PerformanceResourceTiming.deliveryType

公开有关如何传送资源的信息。例如,从缓存传递的资源(当前通过 transferSize 公开)以及由上一页预提取的导航有助于识别。

SoftNavigation 性能条目

使用 PerformanceObserver 和性能时间轴向 Web 开发者公开(实验性)软导航启发式算法

注册软导航启发词语试用

推测规则:通过 Speculation-Rules 标头提交

目前,开发者只能使用内嵌脚本标记指定推测规则。所提议的功能通过“Speculation-Rules”标题提供了一种替代方案。其值必须是指向具有 application/speculationrules+json MIME 类型的文本资源的网址。该资源的规则将添加到该文档的规则集中。

推测规则:基于文档的规则

推测规则语法的扩展,可让浏览器从网页中的链接元素获取用于推测的网址。它们可能包含用于限制可以使用哪些链接的条件。

WebView 中的 X-Requested-With

弃用试用,以便保留 Android WebView 上 X-Requested-Header 的旧版行为。此标头目前设为以嵌入应用的软件包名称作为值,但在发布缓慢后,此行为将被移除。在弃用期间,网站所有者可继续使用该标头,但在弃用期间仍可继续接收该标头。

有关此弃用的更多信息,将在另一篇博文中介绍。点击此处注册以参与 X-Requested-With 弃用试用

弃用和移除

此版本的 Chrome 引入了下列弃用和移除功能。请访问 ChromeStatus.com,查看计划弃用、当前弃用和之前移除的内容的列表。

此版本的 Chrome 移除了两项功能。

移除不安全情境中的 Web SQL

Web SQL 现已在非安全上下文中移除。我们建议您在由源私有文件系统支持的浏览器中切换到 SQLite Wasm

移除 window.webkitStorageInfo

取消了对旧版存储配额 API window.webkitStorageInfo 的支持。Chrome 最初在 2011 年引入,实现了带有前缀的配额 API,该 API 之后立即被弃用的配额 API 成功。旧版存储空间配额 API 从未由任何其他浏览器实现,且自 2013 年以来已被标记为已弃用。