Chrome 88 中的新功能

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

以下是您有必要知道的信息:

我是 Pete LePage,在家工作和拍摄,现在我们来深入了解一下 Chrome 88 为开发者提供了哪些新功能!

Manifest V3

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

例如,它禁止使用远程托管代码,这有助于 Chrome 应用商店审核者更好地了解扩展程序带来的风险。还能让您更迅速地更新扩展程序

它引入了 Service Worker,用于替代后台页面。由于 Service Worker 仅在需要时驻留在内存中,因此扩展程序使用的系统资源较少。

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

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


CSS aspect-ratio 属性

通常,只有部分元素具有宽高比,例如图片。对于它们,如果仅指定了宽度或高度,则系统会使用固有宽高比自动计算另一个元素。

<!-- 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 结算服务

现在,借助新的 Digital Goods API,您可以在可信网络活动中使用 Play 结算服务来销售数字商品和订阅。它已在 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 应用的新变化,或者查看docs

等等

当然,还有许多精彩等着你。

  • 为了符合 HTML 标准中的变更,具有 target="_blank" 的锚标记现在默认隐含 rel="noopener",这有助于防止标签页贴靠攻击。
  • 大多数操作系统默认都会启用鼠标加速功能,但对于某些游戏,这可能会造成问题。在 Chrome 88 中,Pointer Lock API 可让您停用鼠标加速。这意味着相同的物理动作,无论是慢还是快,都会产生相同的旋转,从而提供更好的游戏体验和更高的准确性。
  • addEventListener 现在接受中止信号作为选项。 调用 abort() 会移除该事件监听器,从而在不再需要事件监听器时轻松关闭事件监听器。

深入阅读

这仅涵盖了部分重要的亮点。如需了解 Chrome 88 中的其他变化,请点击以下链接。

订阅

如果您想及时了解我们的视频,请订阅我们的 Chrome 开发者 YouTube 频道,这样,每当我们发布新视频时,您都会收到电子邮件通知。

我是 Pete LePage