Chrome 88 中的新功能

Chrome 88 现已开始面向稳定版发布。

以下是您需要知晓的相关信息:

  • 现在,您可以使用 manifest V3 将扩展程序上传到 Chrome 应用商店。
  • 借助 aspect-ratio CSS 属性,您可以轻松为任何元素设置宽高比。
  • Chrome 88 会在特定情况下大幅节流隐藏页面的链式 JavaScript 计时器。
  • 您现在可以在 Trusted Web Activity 中使用 Play 结算
  • Chrome 开发者峰会的所有视频均已上线。
  • 还有更多功能。

我是 Pete LePage,目前在家办公和录制视频,现在就让我们深入了解 Chrome 88 中面向开发者的新功能!

Manifest V3

Chrome 88 现在支持使用 Manifest V3 构建的扩展程序,您可以将这些扩展程序上传到 Chrome 应用商店。Manifest V3 是一个新的扩展程序平台,默认情况下,它可让 Chrome 扩展程序更安全、更高效且更注重隐私保护。

例如,它不允许远程托管代码,这有助于 Chrome 应用商店审核人员更好地了解扩展程序会带来哪些风险。这样,您应该可以更快地更新扩展程序。

它引入了服务工作器来替代后台页面。由于服务工件仅在需要时驻留在内存中,因此扩展程序将使用更少的系统资源。

为了让用户能够更好地了解和控制扩展程序如何使用和共享其数据,我们将在未来的版本中采用新的安装流程,让用户能够在安装时拒绝授予敏感权限。

请访问 developer.chrome.com,了解完整详情以及如何将当前扩展程序迁移到 Manifest V3。


CSS aspect-ratio 属性

通常,只有某些元素(例如图片)具有宽高比。 对于这些 View,如果仅指定宽度或高度,系统会使用固有宽高比自动计算另一个尺寸。

<!-- Height is auto-computed from width & aspect ratio -->
<img src="..." style="width: 800px;">

在 Chrome 88 中,您可以使用 aspect-ratio 属性明确指定宽高比,以实现类似的行为。

.square {
  aspect-ratio: 1 / 1;
}

您还可以使用渐进增强来检查浏览器是否支持它,并在必要时应用回退方案。然后,使用新的 CSS 4 not 选择器,您可以让代码更简洁一些!

.square {
  aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {
  .square {
    height: 4rem;
    width: 4rem;
  }
}

感谢 Jen Simmons 指出最新版 Safari 技术预览版支持此功能,因此我们应该很快就会在 Safari 中看到它!您可以观看 Una 的演示,了解其运作方式。

对链接的 JS 计时器进行严重节流

在特定情况下,Chrome 88 会大幅节流隐藏页面的链式 JavaScript 计时器。这将降低 CPU 用量,从而降低电池用量。在某些极端情况下,这会改变行为,但在其他 API 更高效、更可靠的情况下,通常会使用计时器。

上面的术语比较多,而且有点模糊不清,因此请参阅 Jake 的文章 从 Chrome 88 开始对链式 JS 计时器进行重度节流,了解所有详情。

Trusted Web Activity 中的 Play 结算服务

现在,您可以在 Trusted Web Activity 中使用 Play 结算服务,通过新的 Digital Goods API 销售数字商品和订阅。它在 Android 版 Chrome 88 中作为源代码试用版提供,我们预计会在下一个版本中将源代码试用版扩展到 ChromeOS。

设置好账号后,请更新您的可信网站活动以启用 Play 结算服务,然后在 Play 管理中心内创建数字商品。然后,在 PWA 中添加您的来源试用令牌,即可添加代码来检查现有购买交易、查询可用的购买交易以及进行新购买交易。

// Get list of potential digital goods

const itemService =
  await window.getDigitalGoodsService("https://play.google.com/billing");

const details =
  await itemService.getDetails(['ripe_bananas', 'walnuts', 'pecans' ]);

Adriana 和 Andre 在 Chrome 开发者峰会上的演讲 - Play 中 Web 应用的新变化中详细介绍了相关内容,您也可以参阅文档

等等

当然,还有许多其他功能。

  • 为了符合 HTML 标准的更改,现在,默认情况下,带有 target="_blank" 的锚链接标记会隐含 rel="noopener",这有助于防止标签页点按攻击。
  • 大多数操作系统默认启用鼠标加速功能,但这可能会给某些游戏带来问题。在 Chrome 88 中,您可以使用 Pointer Lock API 停用鼠标加速。也就是说,无论是缓慢还是快速的相同物理运动都会产生相同的旋转,从而提供更好的游戏体验和更高的准确性。
  • addEventListener 现在接受 Abort Signal 作为选项。调用 abort() 会移除该事件监听器,从而便于在不再需要时关闭事件监听器。

深入阅读

本文仅介绍了一些主要亮点。如需了解 Chrome 88 中的其他变更,请点击以下链接。

订阅

如需及时了解我们的最新视频,请订阅我们的 Chrome Developers YouTube 频道,这样每当我们发布新视频时,您就会收到电子邮件通知。

我是 Pete LePage,Chrome 89 发布后,我会立即为您介绍 Chrome 中的新变化!