2012-07-30 81 views
2

如何制作不是弹出式窗口或按钮的Chrome扩展程序?在窗口打开事件的后台运行的Chrome扩展?

  1. 我想要一个脚本在窗口打开时运行,并遍历所有标签在每个标签上执行操作。
  2. 我也需要(这是可能吗?)想要添加到相同的扩展按钮(+键盘快捷键?),单击时,在所有选项卡上执行操作。
  3. 然后,我需要控制这些按钮的可见性,并使其仅在某些情况下才可见(例如,仅在页面加载时显示,在未加载时隐藏)。

我在哪里放置我的脚本,以及如何在我的* .json清单中引用它?

任何信息/链接将不胜感激。

+0

你有做过任何研究吗?你在一个问题中提出多个问题,并主要询问基本问题。对于“已建立的用户”来说,这很奇怪。从阅读chrome扩展开发人员文档中的背景页开始。 – 2012-07-30 09:38:10

+0

@KonradDzwinel Exactely。我开始用相同的意图输入评论。和往常一样,我试图提供帮助,所以我说了类似于“迄今为止显示了什么努力?X可以在Y,Z在A和Foo在Bar中找到......”然后我用完了空间,然后把它变成了一个完整的答案。现在我输入了它,我*可以想象没有经验的用户永远无法获得这一点,因为它需要一些关于Chrome扩展的背景知识。 – 2012-07-30 09:47:41

+0

@RobW无论如何,Shimmy很幸运得到了这样一个详细的答案,我希望他赞赏,做得好! – 2012-07-30 09:59:16

回答

7

0和1的答案可直接在文档中找到,具体为background pages,chrome.windows APIchrome.tabs API

要绑定全局事件,请使用chrome.experimental.keybinding API。由于此API是实验性的,因此您必须先在chrome://flags处启用它。另外,该扩展程序无法上传到Chrome网上应用店。
如果你想添加一个“扩展按钮”,它对点击执行一些操作,定义一个browser action并绑定一个事件监听器到chrome.browserAction.onClicked
要选择所有选项卡,请使用chrome.tabs.query({}, callback)方法({}表示没有过滤器,所以选中所有选项卡)。

浏览器操作按钮始终可见。如果您想创建一个不总是可见的按钮,请改为使用page actionchrome.tabs模块包含若干events,可用于确定您的条件是否得到满足。

至于编写脚本和清单文件,请阅读有关Manifest files的文档并探索一些examples

+0

谢谢。原来我是在错误的地方寻找背景东西......感谢你为我照亮它。 – Shimmy 2012-07-30 18:53:12

+0

不客气。 – 2012-07-30 20:50:36

相关问题