关闭Chrome扩展程序中的标签页

Jer*_*man 2 javascript tabs google-chrome-extension

我有一个在popup.html中调用的函数,它创建一个选项卡,插入一个mailto来触发本地(或gmail)邮件事件.这是我的愿望,然后关闭自己.我尝试了很多东西,但似乎我需要的东西相当于:

tabId = chrome.tabs.query(I DON'T KNOW!);
chrome.tabs.remove(tabId);
Run Code Online (Sandbox Code Playgroud)

这是当前的代码:

var query = { active: true, currentWindow: true };
function callback(tabs) {
    var currentTab = tabs[0];
    console.log(currentTab);
}
chrome.tabs.remove(chrome.tabs.query(query, callback));
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

如果有用,这是我如何创建选项卡(它可以按预期工作):

    chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
        getTabs(tabs, function(full_mail_link){
          chrome.tabs.create({ url: full_mail_link });
        });
    });
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Edw*_*oso 6

我不知道你的getTabs功能是做什么的.然而,如果您知道如何找到标签的标签ID,那么您需要做的就是

chrome.tabs.remove(tabId, optionalCallback);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢 - 问题是我一开始不知道如何获取 tabId ......有什么提示吗? (2认同)

小智 5

这一定是工作:

chrome.tabs.getSelected(null, function(tab) {
 chrome.tabs.remove(tab.id);
 });
Run Code Online (Sandbox Code Playgroud)