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

Mal*_*ala 7 google-chrome notification-area google-chrome-extension

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

根据我能找到唯一文档,这表明用户可以在所有扩展中全局设置此选项,但这不是我想要做的.我希望扩展程序不张扬/不引人注目,并且不想更改用户的浏览器行为.有谁知道如何实现这一点,同时保留有背景页面的能力?

Mik*_*ace 4

更新

\n

使用清单版本 2,您现在可以运行非持久性的事件页面。事件页面与后台页面非常相似,但仅在扩展程序需要时才加载。

\n

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

\n
{\n  "name": "My extension",\n  ...\n  "background": {\n    "scripts": ["eventPage.js"],\n    "persistent": false\n  },\n  ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n

以下是有关将 Chrome 扩展程序迁移到清单版本 2 的教程。

\n
\n

旧答案

\n

目前,如果您的扩展程序在 manifest.json 文件中定义了背景,它将在 Chrome 启动之前运行,并在 Chrome 所有窗口关闭后继续运行。除非用户像您提到的那样更改其设置。Google Chrome 的未来版本可能会支持不同的功能,但您(开发者)目前无法解决此问题。

\n

背景清单文档的摘录

\n
\n

使 Chrome 早启动、晚关闭,以便应用和扩展程序拥有更长的寿命。

\n

当任何已安装的托管应用程序、打包应用程序或扩展程序具有“后台”权限时,一旦用户登录到其计算机\xe2\x80\x94,Chrome 就会在用户启动 Chrome 之前运行(不可见)。“后台”权限还使 Chrome 继续运行(即使在最后一个窗口关闭后),直到用户明确退出 Chrome。

\n
\n