【问题标题】:Chrome Extension: close background page after closing ChromeChrome 扩展:关闭 Chrome 后关闭背景页面
【发布时间】:2012-08-16 18:18:11
【问题描述】:

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

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

【问题讨论】:

  • 这与stackoverflow.com/questions/10151732/… 类似,但我不想立即关闭后台页面,我想在所有选项卡都关闭后关闭它,而且我也不想要系统托盘图标跨度>
  • 您可以使用事件页面而不是背景页面。无论如何,这是新的首选方法,因为它不需要您的代码持续运行,仅在需要时运行。 developer.chrome.com/dev/extensions/event_pages.html
  • 活动页面看起来棒极了!等不及要正式发布了。

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


【解决方案1】:

更新

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

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

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

这是migrating your Chrome extension to manifest version 2的教程。


老答案

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

摘自background manifest docs

让 Chrome 提早启动和延迟关闭,从而延长应用和扩展程序的使用寿命。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多