You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Chrome扩展程序中获取所有可见标签页

获取屏幕上所有可见的Chrome标签页
  • 标签页要处于可见状态,必须是其所在窗口中的active标签页,但存在特殊情况:某个标签页显示在屏幕上,却不属于lastFocusedWindow(当前聚焦窗口)。
  • 若仅需获取用户当前聚焦的标签页(用户输入内容会显示在该标签页内),可使用以下代码:
    const tabList = await chrome.tabs.query({active: true, lastFocusedWindow: true});
    
  • 要获取屏幕上所有可见的标签页(包括其他非聚焦但显示在屏幕上的窗口的活动标签页),可调整查询逻辑:
    先获取所有普通窗口中的活动标签页,再筛选出窗口未被最小化的标签页(最小化窗口的标签页不可见):
    // 获取所有普通窗口的活动标签页
    const allActiveTabs = await chrome.tabs.query({active: true, windowType: 'normal'});
    // 筛选出可见窗口对应的标签页
    const visibleTabs = [];
    for (const tab of allActiveTabs) {
      const windowInfo = await chrome.windows.get(tab.windowId);
      // 窗口状态非最小化,说明标签页可见
      if (windowInfo.state !== 'minimized') {
        visibleTabs.push(tab);
      }
    }
    
    这里通过chrome.windows.get获取窗口状态,排除最小化窗口后,就能得到所有显示在屏幕上的活动标签页。

内容的提问来源于stack exchange,提问作者baNaNa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:05:32