Chrome 120 扩展程序中的新功能

Chrome 120 现已推出 Beta 版,其中包含许多面向 Chrome 扩展程序开发者的精彩更新。

这一年里,Chrome 扩展程序团队很忙。在昨天发布的 Chrome 120 Beta 版中,扩展程序平台又向前迈进了一大步。如需简要了解今年发生的变化,请查看我们在 7 月10 月发布的季度更新。请继续阅读,了解 Chrome 120 for Extensions 包含的新功能。

缩小平台差距

随着 Chrome 120 的发布,我们将逐步填补 Manifest V3 已知问题页面中列出的其余平台问题。新的 userScript API 以及对 ChromeOS 中的文件处理功能的支持现在是可以划掉的另外两个。 结合上一季度更新中所述的变化,我们对 Chrome 扩展程序平台的当前状态以及我们在过去一年取得的成就非常满意。

新的 userScripts API

用户脚本支持已发布!用户脚本是(通常相对较小)的代码段,扩展程序可将其注入网页,以便修改网页的外观或行为。它们可以直接由用户创建,也可以在网络中众多不同的用户脚本存储库中找到。从 Chrome 120 Manifest V3 扩展程序开始,您现在可以管理用户脚本的集合,并确定何时以及如何在网页上注入这些脚本。

Manifest V2 和 Manifest V3 支持的用户脚本有一个明显的不同之处。由于用户脚本功能强大,需要非常信任用户脚本的作者,因此 Chrome 团队决定,用户必须选择启用开发者模式,然后才能运行用户脚本。

“附加信息”页面
“扩展程序”页面 (chrome://extensions)

我们新推出的 userScript 示例展示了一种用于检测开发者模式是否已启用的简单方法,并提供了简单的初始配置流程。

用户脚本的新手入门流程示例。
在开发者模式停用后,引导用户顺利上手。

要开始使用,请参阅相关文档或查看官方示例

静态 DNR 规则集上限较高

我们将启用的静态规则集的上限从 10 大幅提高到了 50。此外,我们还将允许的静态规则集总数从 50 增加到了 100。这是根据我们在 Web Extensions 社区群组中收到的反馈做出的。

新增 ReadingList API

Chrome 于 2021 年推出了阅读清单。去年,Chrome 团队通过侧边栏让访问阅读清单变得更加轻松。在 Chrome 120 中,我们为 Chrome 扩展程序添加了创建、读取、更新和删除阅读清单条目的功能。如需了解详情,请参阅 API 文档和我们的新示例

Chrome 的阅读清单,其中显示的是扩展程序文档页面。
Chrome 中的阅读清单侧边栏。

ChromeOS 上的文件处理

借助文件处理功能,扩展程序能够以与网络平台文件处理类似的方式打开具有指定 MIME 类型和文件扩展名的文件。请查看 ChromeOS 上的文件处理功能,详细了解如何使用该工具。

在 ChromeOS 上打开带扩展程序的文件对话框的屏幕截图
在 ChromeOS 上的扩展程序中打开文件。

在 30 秒后触发闹钟

这是一个小幅更新,但解决了 Service Worker 生命周期中的一个重要差距。由于 Service Worker 的事件驱动性质,将来触发事件的建议方法是使用 chrome.alarms。Alarms API 可确保即使 Service Worker 在此期间关闭也能触发事件。

不过,这其中存在一个问题。在 Chrome 120 之前,触发闹钟的最短时间间隔为 1 分钟。不过,Service Worker 将在处于非活动状态 30 秒后关闭。因此,没有简单直接的方法可以将闹钟安排在 45 秒内触发,因为使用 setTimeout() 在 45 秒内设置事件时,Service Worker 可能会在事件触发之前关闭。

从 Chrome 120 开始,您现在可以在以下两种方式中触发事件:

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

摘要

我们非常高兴看到扩展程序平台在过去一年中取得的进展。Chrome 120 是提高 DNR 上限和用户脚本支持的又一重大举措。