找到答案。它应该是:
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"
]
}
到目前为止,点击扩展图标绝对没有。
答案 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;