我正在创建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或标签索引,如何激活或转到该特定标签?
答案 0 :(得分:0)
您想要窗口和标签更新功能。您可以不理会窗口的焦点,只要在创建新选项卡时保持窗口的焦点即可。 (如当前代码示例所示)
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/update
browser.tabs.query({}, function(tabs) {
for (var i=tabs.length-1; i>=0; i--) {
if (tabs[i].id == myTabID) {
browser.windows.update(tabs[i].windowId, {focused: true}); //focus window
browser.tabs.update(tabs[i].id, {active: true}); //focus tab
break;
}
}
});