如何通过单击我创建的单个Google扩展程序打开MULTIPLE网址?

时间:2012-08-02 09:57:14

标签: google-chrome-extension

我搜索了网页,希望找到一种方法来创建在我加载Chrome时在“应用”区域中显示的Google Chrome扩展程序。这些扩展旨在简单地在点击时打开预定义的网页...实质上是“应用”区域中的书签。我已成功为我经常使用的页面创建多个快捷方式...这是我用于本地CraigsList网站快捷方式的'manifest.json'文件的示例...


{
"name": "CraigsList",
"description": "shop on craigslist",
"version": "1.0",
"icons": {
"128": "icon.jpeg"
},
"app": {
"urls": [
"http://COSprings.craigslist.org"
],
"launch": {
"web_url": "http://COSprings.craigslist.org"
}
},
"permissions": [
"unlimitedStorage",
"notifications"
]
}

我很高兴我走到这一步并创造了一系列捷径,这些捷径简化了我在谷歌Chrome浏览器中的生活......但我想再向前推进一次扩展。

假设我想打开两个标签...当点击扩展名时,每个标签都有一个不同的网页...我将如何修改上述代码呢?

2 个答案:

答案 0 :(得分:3)

Chrome扩展功能强大,但您的方法有误。如果您真的想通过单击应用程序图标打开多个选项卡,则链接页面必须自己打开这些选项卡,因为在初始化时最多可以启动一个选项卡/面板。

在Chrome 22+中,您可以使用chrome.experimental.app.onLaunched检测应用的启动,然后使用chrome.tabs.create启动多个标签...

但这种方法对你的目标来说太复杂了!不要重新发明轮子,Chrome已经提供了适合您需求的东西。它被称为书签栏

Chromium's bookmark bar

如您所见,我已为某些图像和文件夹添加了书签 您可能知道点击书签会打开一个页面 以下功能可能会让您感到惊讶:右键单击书签文件夹。

Contextmenu

使用Open All BookmarksOpen All Bookmarks in New Window一次打开多个书签(显然,书签必须是书签文件夹中的项目)。

答案 1 :(得分:0)

您可以使用后台脚本,而不是直接从清单(我认为不可能)中执行此操作 把这样的东西放在你的清单中:

  "background": {
    "scripts": ["background.js"]
  },

然后在background.js文件中:

var queue = ['www.url1.com', 'www.url2.com'];
chrome.browserAction.onClicked.addListener(function(tab) {
    for (var i=0; i<queue[1].length; ++i)
        chrome.tabs.create({"url": queue[i], "active": false, "index": tab.index+i});
});