2016-08-14 130 views
0

我正在构建谷歌浏览器扩展程序,我有一个关于何时使用活动页面的问题。谷歌浏览器扩展程序:后台页面或活动页面?

快速浏览Chrome extension docs表明,如果可能的话,Google真的希望开发人员使用活动页面。

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

这是我的扩展做什么:

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

本质上讲,所有的背景页正在做的是等待消息从一个特定网站的注入脚本传递,然后运行一些操作。由于它不需要始终处于活动状态,这表明我应该使用活动页面。

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

+0

避免使用持久背景页面。 –

+0

http://stackoverflow.com/questions/23935117/event-pages-and-background-pages –

回答

1

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

+2

使用持久背景页面的唯一原因是,如果您使用的API不起作用,例如, chrome.webRequest或chrome.webNavigation等。 – wOxxOm

相关问题