Chromium将消息传递给弹出扩展名,即使它不活动

时间:2011-12-06 12:54:48

标签: google-chrome google-chrome-extension

我正在开发Chrome扩展程序。如果我打开带有“Inspect pop-up”选项的弹出页面,单击上下文菜单时,我可以将消息从后台页面传递到弹出扩展名。因为它以这种方式保持开放。

但是如果我没有打开弹出页面时单击上下文菜单,则不会收到任何消息。

您是否有任何建议可以自动打开弹出窗口,使其保持打开状态,或者即使它不活动也会向其发送消息。

2 个答案:

答案 0 :(得分:0)

没有办法实用地打开弹出窗口。弹出窗口仅在弹出窗口打开时才会激活,这就是为什么在关闭弹出窗口时无法向其发送消息。

您可以在后台页面中对邮件进行排队,并在下次打开弹出窗口时检索它们。或者取决于您可能会使用HTML5 desktop notifications代替的功能。

答案 1 :(得分:0)

弹出窗口不应该向弹出窗口发送内容,而是应该在打开它时请求它。

因为弹出窗口只是一个HTML页面,所以在打开它之前它不存在。

基本上,就像亚伯拉罕提到的那样,您可以使用localStoragechrome.storage在后​​台存储任何信息。当弹出窗口打开时,它应该使用chrome.extension.getBackgroundPage()函数来获取对背景的引用,这可以提供对存储信息的访问。

如果您使用localStoragechrome.storage,则可以直接访问它,而无需使用背景,因为整个扩展程序共享存储空间。