首页 > 解决方案 > 如何使用 Firefox 扩展程序转到特定选项卡

问题描述

我正在创建一个 Firefox 扩展。它会打开一个新选项卡,然后稍后将其关闭。当新标签关闭时,我想回到原来的标签,而不是最右边的标签。这是我到目前为止所拥有的,它总是在最右边。

function openNewTab(tabs) {
    let tab = tabs[0]; 
    browser.tabs.create({"url": tab.url});
}

function closeTab(tabs) {
    let tab = tabs[0];
    browser.tabs.remove(tab.id);    
}

function onError(err){
    console.error(err);
}

function openAndClose() {
    var mytab = browser.tabs.query({currentWindow: true, active: true}).then(openNewTab, onError);

    setTimeout(function () {
        var closeIt = browser.tabs.query({currentWindow: true, active: true}).then(closeTab, onError); 
    }, 1000);   
}

browser.browserAction.onClicked.addListener(openAndClose);

给定选项卡 ID 或选项卡索引,我如何激活或转到该特定选项卡?

标签: javascriptfirefox-addonfirefox-addon-webextensions

解决方案


您需要窗口和选项卡更新功能。只要在创建新选项卡时保持窗口焦点,就可以忽略窗口焦点。(如您的代码示例中所示)


推荐阅读