0

我在网上搜索,希望找到一种方法来创建在我加载 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"
]
}

我很高兴我已经走到了这一步,并创建了许多快捷方式,简化了我在 Google Chrome 中的生活……但我想更进一步,增加一个扩展。

假设我想打开两个选项卡...单击扩展程序时每个选项卡都有不同的网页...我将如何修改上面的代码来做到这一点?

4

2 回答 2

3

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

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

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

Chromium 的书签栏

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

上下文菜单

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

于 2012-08-02T21:41:03.023 回答
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});
});
于 2013-12-09T10:55:56.783 回答