Chrome 110 Beta 版

CSS 首字母、Web 应用启动处理脚本、对 FedCM API 的跨源 iframe 支持等。

除非另有说明,否则下面介绍的更改均适用于最新的 Chrome 测试版(Android、ChromeOS、Linux、macOS 和 Windows)。如需详细了解此处列出的新功能,请点击所提供的链接或访问 ChromeStatus.com 上的列表。Chrome 110 自 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 开发者在视频进入和退出画中画模式时自定义媒体播放器。

试用 :picture-in-picture 伪类的演示

Web API

AudioContext.setSinkId()

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

如需详细了解此功能,请参阅在 Web Audio 中更改目标输出设备一文。

跨源 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()

由 Speculation Rules API 触发的预提取

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

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

在非过渡模式下启用 IDNA 2008 以处理网址,使 Chrome 的行为与 Firefox 和 Safari 保持一致。Chrome 目前在网址处理中使用过渡模式下的 IDNA 2008。过渡模式和非过渡模式之间的主要区别在于对四个被称为偏差字符的字符的处理:ß(小写拉丁文尖音符号 S)、ς(小写希腊文终止符号 Sigma)、ZWJ(零宽度连接符)和 ZWNJ(零宽度非连接符)。在过渡模式下,系统会像处理 IDNA2003 一样处理偏差字符:ß 会映射到 ss、ς 会映射到 σ,并且会删除 ZWJ 和 ZWNJ。在非过渡模式下,域名中允许包含这些字符,而无需进行映射,因此可以解析为不同的 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 移除了两项功能。

移除不安全情境中的 WebSQL

现在,在不安全情境中移除了 Web SQL。我们建议您改用由原始私有文件系统支持的浏览器中的 SQLite Wasm

移除 window.webkitStorageInfo

移除了对旧版存储空间配额 API window.webkitStorageInfo 的支持。Chrome 最初于 2011 年引入了带前缀的配额 API,该 API 随即被 Quota API 取代,后者也已废弃。任何其他浏览器都未实现旧版存储空间配额 API,自 2013 年起,该 API 已被标记为已废弃。