如何在Chrome扩展程序中点击当前打开的标签页?

时间:2018-03-09 00:14:46

标签: javascript google-chrome

找到答案。它应该是:

var currTab = tabs[0].id;

原始问题:

我最近开始学习javascript和chrome扩展程序。我试图这样做,以便每当点击扩展图标时,它只是关闭当前选择的任何选项卡。

我的background.js文件的代码:

chrome.browserAction.onClicked.addListener(function(tab) {

  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    var currTab = tabs[0];
    chrome.tabs.remove(currTab);
  });
});

manifest.json文件

{
  "manifest_version": 2,

  "name": "None",
  "description": "N/A",
  "version": "1.0",

  "browser_action": {
    "default_title": "Click to Close"
  },
  "permissions": [
    "tabs"
  ]
}

到目前为止,点击扩展图标绝对没有。

3 个答案:

答案 0 :(得分:1)

chrome.tabs.remove(currTab.id);

chrome.tabs.query会返回这些Tab个对象的数组,但在调用这些函数时只需要tabId

当您在Chrome API中遇到此类错误时,后台页面会记录错误。

答案 1 :(得分:0)

您需要将其添加到manifest.json文件中:

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

答案 2 :(得分:0)

我编辑了问题以反映答案。它应该是

var currTab = tabs[0].id; or even more simply var currTab = tab.id;