对Chrome扩展程序的“议程”感到有点困惑

时间:2016-04-08 05:56:50

标签: javascript google-chrome google-chrome-extension

所以,我写了一些扩展,大多数是一次性的one hopefully viable

我仍然对“议程”,“日程安排”或什么问题感到困惑,即事情发生的顺序,以及他们居住的地方。

例如,我正在写一个新的,它将执行以下操作:

  • 浏览器操作向用户显示3项菜单
  • 其中两个项目会触发立即执行的操作,而第三个项目会启动一个长时间运行卧底的过程(即每隔一段时间轮询某个网页,所述网页需要将被加载到任何可见的标签或窗口中。)

当然,我很想假设长期居住在background.js

现在,我知道弹出菜单本身就是一个HTML文档,它在自己的泡沫中生活。它会在用户穿上物品后立即消失,从而将其上下文带到坟墓中。现在,我正试图弄清楚它是如何触发后台进程的。[/ p>

尽管如此,我并不完全理解将background.js赋予生命的原因,更不用说当它被指定为非持久性as is recommended时。

当然,我会再次进行RTFM,但是如果你们的伙伴们能够将这种愚蠢归结为我的理解水平,我会很高兴......

1 个答案:

答案 0 :(得分:0)

也许如你所说,你需要再次RTFM ..

Background Page在扩展程序中运行,并在您的扩展程序的生命周期内存在,直到您的扩展程序被删除或浏览器进程终止。

虽然Event Page已建议使用Chrome,但只在需要时加载。看一下Lifetime part,以下是一些会导致加载事件页面的示例:

  
      
  • 首次安装应用或扩展程序或将其更新为新版本(以register for events为准)。
  •   
  • 事件页面正在侦听某个事件,并调度该事件。
  •   
  • 内容脚本或其他扩展程序sends a message
  •   
  • 扩展程序中的另一个视图(例如,弹出窗口)调用runtime.getBackgroundPage
  •   

至于您的问题,'如何触发后台流程',如果没有要捕获的事件或要传递的消息,您只需调用runtime.getBackgroundPage即可加载事件页面。