gpt4 book ai didi

javascript - 如何选择当前标签右侧的所有标签?

转载 作者:行者123 更新时间:2023-11-30 09:18:30 25 4
gpt4 key购买 nike

如果您右键点击 Chrome 浏览器顶部的任何标签,您将看到一个名为关闭右侧标签的选项。这将关闭当前事件选项卡右侧的所有选项卡。我正在尝试使用 Chrome 扩展程序做类似的事情。是否可以使用“for index of current active tab until index of last tab?”之类的循环选择右侧的选项卡?

以下是开源 Chrome 扩展程序的源代码。该函数选择当前窗口中除事件选项卡之外的所有选项卡并“暂停”它们。我正在尝试编写一个类似的函数,但不需要选择所有选项卡,它只需要选择事件选项卡右侧的选项卡。

  function suspendAllTabs(force) {
const forceLevel = force ? 1 : 2;
getCurrentlyActiveTab(activeTab => {
if (!activeTab) {
gsUtils.warning(
'background',
'Could not determine currently active window.'
);
return;
}
chrome.windows.get(activeTab.windowId, { populate: true }, curWindow => {
for (const tab of curWindow.tabs) {
if (!tab.active) {
gsTabSuspendManager.queueTabForSuspension(tab, forceLevel);
}
}
});
});

最佳答案

每个选项卡都有一个显示其位置的索引。例如,第 3 个选项卡的索引为 2(从 0 开始)。

因此,任意tab右边的tab表示tab.index +1tabs.length

例如……
获取事件标签右侧的标签

// get all the tabs in current window
chrome.tabs.query({currentWindow: true}, tabs => {

let activeIndex;
for (const tab of tabs) {
// set the activeIndex so we wont have to run a loop on the tabs twice
if (tab.active) { activeIndex = tab.index; }

// tabs to the right of the active tab will have higher index
if(typeof activeIndex !== 'undefined' && tab.index > activeIndex) {

// tabs is on the right of the active tab ... do whatever needed
}
}
});

获取事件标签左侧的标签

// get all the tabs in current window
chrome.tabs.query({currentWindow: true}, tabs => {

for (const tab of tabs) {
// stop when reached the active tab
if (tab.active) { break; }

// tabs to the left of the active tab ... do whatever needed
}
});

关于javascript - 如何选择当前标签右侧的所有标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53313153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com