Google Chrome扩展程序:后台页面或活动页面?

时间:2016-08-14 02:04:14

标签: google-chrome google-chrome-extension

我目前正在构建Google Chrome扩展程序,我对何时使用活动页面有疑问。

快速查看Chrome extension docs表明,如果可能,Google真的希望其开发人员使用事件页。

我的扩展程序目前使用的是后台页面,但我想知道是否应该切换到活动页面?

这是我的扩展程序所做的:

  • 当与特定网站匹配时,它会注入一个脚本,为用户添加按钮以访问额外功能。
  • 这些额外功能大多包括对用户输入的数据进行相当计算成本高昂的操作 - 这都是在后台页面中完成的(它就是这样)。
  • 当用户想要对他们的数据运行这些操作时,他们按下一个按钮,这会从注入的脚本传递一条消息到后台页面,然后传递一条包含其操作结果的消息。

基本上,所有后台页面都在等待从一个特定网站中的注入脚本传递消息,然后运行一些操作。由于它不需要一直处于活动状态,这表明我应该使用事件页面。

任何人都可以确认这对我来说是不是一个好主意?或者我有理由坚持背景页面吗?

1 个答案:

答案 0 :(得分:1)

允许后台页面暂停(chrome.runtime.onSusend)非常棒,因为它可以释放系统资源。当匹配事件发生时,页面将自动启动(chrome.tab.onUpdated等)。我想不出使用持久性背景页面的任何令人信服的理由。您始终可以在chrome.storage.local或indexedDb等中存储任何长期状态。