我是Chrome扩展程序开发的新手,我对这个架构有点挣扎。 我想开发一个扩展(browser_action),当单击该按钮时,它会打开一个窗口,从WebTraffic中填充信息。 我发现我可以使用WebRequest API来获取有关流量的信息。
我可以创建一个弹出窗口,但只有当我点击扩展按钮时它才会显示,并且只要我点击其他地方就会隐藏
我尝试创建一个背景窗口,但它没有显示出来。
如果有人能帮助我完成应用程序的初始设置,我将非常感激。
提前致谢
答案 0 :(得分:0)
你需要两者。
查看Architecture Overview,或this question。
弹出窗口的生命周期确实等于它在屏幕上停留的时间。它是UI的一部分,但在那里放置逻辑通常很糟糕。
背景页面永久存在但不可见。它通常是扩展的“大脑”,负责处理繁重的工作并将消息路由到其他部分。
简而言之:
您需要一个后台脚本,以某种格式为您收集webRequest
个信息。
您需要一个弹出页面来显示它。请记住,它不能保证在给定时间出现,并且可以随时关闭。
最好使用Messaging从后台页面请求信息。如果您需要实时更新,则可以使用长期连接。
在您的情况下,您也可以将两者紧密结合,并致电chrome.runtime.getBackgroundPage()
直接引用其中的内容。