在Chrome扩展架构中苦苦挣扎

时间:2015-04-09 09:27:38

标签: google-chrome-extension

我是Chrome扩展程序开发的新手,我对这个架构有点挣扎。 我想开发一个扩展(browser_action),当单击该按钮时,它会打开一个窗口,从WebTraffic中填充信息。 我发现我可以使用WebRequest API来获取有关流量的信息。

我可以创建一个弹出窗口,但只有当我点击扩展按钮时它才会显示,并且只要我点击其他地方就会隐藏

我尝试创建一个背景窗口,但它没有显示出来。

如果有人能帮助我完成应用程序的初始设置,我将非常感激。

提前致谢

1 个答案:

答案 0 :(得分:0)

你需要两者。

查看Architecture Overview,或this question

弹出窗口的生命周期确实等于它在屏幕上停留的时间。它是UI的一部分,但在那里放置逻辑通常很糟糕。

背景页面永久存在但不可见。它通常是扩展的“大脑”,负责处理繁重的工作并将消息路由到其他部分。

简而言之:

  1. 您需要一个后台脚本,以某种格式为您收集webRequest个信息。

  2. 您需要一个弹出页面来显示它。请记住,它不能保证在给定时间出现,并且可以随时关闭。

  3. 最好使用Messaging从后台页面请求信息。如果您需要实时更新,则可以使用长期连接。

    在您的情况下,您也可以将两者紧密结合,并致电chrome.runtime.getBackgroundPage()直接引用其中的内容。