如何处理点击扩展图标?

时间:2012-07-15 09:47:44

标签: javascript google-chrome google-chrome-extension

我想做google mail checker之类的操作:当用户点击图标时 - 我们应该在新标签页中打开一些网址,但只有在标签内没有打开带有该网址的标签时才会显示。

请帮助我,如何轻松地做到这一点。

谢谢!

2 个答案:

答案 0 :(得分:4)

  1. 在清单
  2. 中定义Browser action
  3. 将事件监听器附加到chrome.browserAction.onClicked
  4. 使用chrome.tabs.create方法打开新标签页。您可以循环浏览所有标签,以使用chrome.windows.getAll检查是否存在网址。

答案 1 :(得分:1)

您可以使用此代码段。它检查是否已打开包含URL(或可选匹配模式)的选项卡。如果是,则选中标签并在其中加载URL。如果没有,则打开新选项卡:

function reuseTab(url, match) {
    if (url) {
        var match = match || url;
        chrome.tabs.query({url : match}, function (foundTabs) {
            if (foundTabs[0]) {
                chrome.tabs.update(foundTabs[0].id, {active : true, url : url});
            } else {
                chrome.tabs.create({url : url});
            }
        });
    }
}

您可以在GitHub上查看用法示例和详细注释以及解释:

https://github.com/fczbkk/chrome-extension-snippets/blob/master/js/reuse-tab.js