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

Flutter Web如何获取同一窗口内已打开的标签页名称?

获取当前窗口已打开标签页名称的实现方案

以下分两种最常见的开发场景给出实现方式,无需额外第三方插件,调用官方原生接口即可完成:

场景1:浏览器扩展场景(Chromium/火狐/Safari通用)

这是最常见的需求场景,直接调用浏览器官方提供的标签页操作API即可实现:

  • 首先需要在扩展的配置文件中声明标签页读取权限,以Chromium内核浏览器的Manifest V3版本为例,manifest.json配置片段如下:
{
  "manifest_version": 3,
  "name": "标签页读取工具",
  "version": "1.0",
  "permissions": ["tabs"]
}
  • 之后在扩展的上下文(后台服务、弹出页、选项页均可)中调用查询API即可拿到所有标签页的标题,示例JS代码:
// 传入currentWindow参数限定仅查询当前激活窗口的标签页
chrome.tabs.query({currentWindow: true}, (tabs) => {
  // 遍历tabs数组提取title字段就是标签页名称
  const allTabNames = tabs.map(item => item.title)
  console.log("当前窗口所有标签页名称:", allTabNames)
})
  • 注意:该接口仅允许在扩展上下文调用,普通网页没有权限读取其他标签页信息。

场景2:桌面端应用读取系统浏览器的标签页

如果是做桌面端工具类项目,可直接调用系统原生接口实现:

  • Windows端可以遍历系统顶层窗口,匹配浏览器进程的窗口标题,主流浏览器的窗口标题格式均为[标签页名称] - [浏览器名称],拆分字符串即可提取标签页名称
  • Mac端可以调用AppleScript脚本对接对应浏览器的内置接口获取,比如Safari的示例调用脚本:
tell application "Safari" to get name of tabs of front window

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:48:03