Chrome扩展程序:关闭Chrome后关闭背景页面

时间:2012-08-16 18:18:11

标签: google-chrome google-chrome-extension notification-area

我有一个带背景页面的扩展程序,默认情况下,这会导致Chrome在关闭所有窗口后保持不变,并将Chrome图标放入系统托盘中。我想避免这种情况 - 我不希望我的扩展程序导致Chrome进程在关闭所有Chrome窗口后仍然存在,我也不想让Chrome出现在系统托盘中。

根据only docs I could find,这表明用户可以在所有扩展中全局设置此选项,但这不是我想要做的。我希望扩展程序不张扬/不引人注目,并且不想更改用户的浏览器行为。有没有人知道如何实现这一目标,同时保留了拥有背景页面的能力?

1 个答案:

答案 0 :(得分:3)

<强>更新

使用清单版本2,您现在可以运行event pages that are not persistent。事件页面与背景页面非常相似,但仅在扩展名需要时加载。

有关在清单中设置非持久性事件脚本的事件页面doc的示例:

{
  "name": "My extension",
  ...
  "background": {
    "scripts": ["eventPage.js"],
    "persistent": false
  },
  ...
}

以下是关于m igrating your Chrome extension to manifest version 2的教程。


OLD ANSWER

目前,如果您的扩展程序在manifest.json文件中定义了后台,则会在Chrome启动之前运行,并在Chrome的所有窗口关闭后继续。除非用户像你提到的那样改变他们的设置。 Google Chrome的未来版本可能会允许不同的功能,但您(开发人员)目前无法解决此问题。

background manifest docs

的摘录
  

让Chrome尽早启动并延迟关闭,以便应用和扩展程序可以延长使用寿命。

     

如果任何已安装的托管应用,打包应用或扩展程序具有“后台”权限,则只要用户登录其计算机,Chrome就会立即运行(无形) - 在用户启动Chrome之前。 “后台”权限还允许Chrome继续运行(即使在最后一个窗口关闭后),直到用户明确退出Chrome。