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 DevTools (88) 中的新变化
- Chrome 88 弃用和移除的功能
- ChromeStatus.com 上有关 Chrome 88 的更新
- Chrome 88 中的 JavaScript 新变化
- Chromium 源代码库更改列表
订阅
如需及时了解我们的最新视频,请订阅我们的 Chrome Developers YouTube 频道,这样每当我们发布新视频时,您就会收到电子邮件通知。
我是 Pete LePage,Chrome 89 发布后,我会立即为您介绍 Chrome 中的新变化!