6

后关闭后台页面我有一个背景页的延伸,并默认这将导致Chrome浏览器后,持续关闭所有窗口,并提出了Chrome浏览器图标在系统托盘。我想避免这种情况 - 我不希望我的扩展程序在关闭所有Chrome窗口后导致Chrome进程持续存在,也不希望导致Chrome显示在系统托盘中。Chrome扩展:Chrome关闭

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

+1

这是simalar到http://stackoverflow.com/questions/10151732/how-can-a-google-chrome-extension-exit-its-own-background-process,而不是关闭背景页右走,我会想关闭它,当所有的标签都被关闭了,我也不想在系统托盘图标 – Mala 2012-08-16 18:23:18

+0

你可以使用活动页面,而不是背景的页面。无论如何,这是新的首选方法,因为它不需要你的代码不断地运行,只有当它需要的时候。 https://developer.chrome.com/dev/extensions/event_pages.html – 2012-08-17 02:30:45

+0

活动页面看起来很棒!不能等待他们正式发布。 – 2012-08-17 04:01:52

回答

3

UPDATE

随着清单第2版,你现在可以运行event pages that are not persistent。事件页面与背景页面非常相似,但只在扩展需要时加载。从你的清单中设置非持久事件脚本事件页文档

例子:

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

这里是m上igrating your Chrome extension to manifest version 2的教程。


OLD ANSWER

目前,如果您的扩展模块在manifest.json文件中定义的背景下,将Chrome浏览器推出之前运行,并继续铬的所有窗口都关闭了。这是除非用户更改他们的设置像你提到的。可能有未来版本的Google Chrome支持不同的功能,但您,开发人员目前无法解决此问题。

background manifest docs

摘录能让Chrome浏览器启动得早,并关闭较晚,从而使应用程序和扩展可以拥有更长的使用寿命。

当任何安装的托管应用程序,打包应用程序,或扩展有“背景”的权限,铬一旦运行(不可见)的用户登录到自己的计算机前,用户启动浏览器。 “背景”权限也使Chrome继续运行(即使在关闭最后一个窗口后),直到用户明确退出Chrome。