首页 > 解决方案 > Google Chrome 扩展程序:如何获取打开标签的所有网址?

问题描述

我正在使用chome.tabs.query来获取在 Chrome 中打开的所有选项卡的所有详细信息。

chrome.tabs.query({ currentWindow: true }, function (tabs) {
  tabs.forEach(function (tab) {
    console.log(tab);
  });
});

但是,在我收到的结果中,我找不到标签页的 URL。信息是一样的

{
  active: false
  audible: false
  autoDiscardable: true
  discarded: false
  groupId: -1
  height: 748
  highlighted: false
  id: 134
  incognito: false
  index: 1
  mutedInfo: {muted: false}
  pinned: false
  selected: false
  status: "complete"
  width: 1440
  windowId: 4
}

有没有办法让我根据其 URL 获取打开的选项卡的所有信息?

我的 Chrome 版本:89.04

标签: javascriptreactjsgoogle-chromegoogle-chrome-extension

解决方案


您是否在 manifest.json 中添加了“tabs”权限?

来自https://developer.chrome.com/docs/extensions/reference/tabs/#type-Tab

仅当扩展程序的清单包含“选项卡”权限时,URL 属性才存在,并且如果选项卡尚未提交,则可能是一个空字符串。

您可以在没有“选项卡”权限的情况下使用选项卡 API 的几种方法,但是如果您想从查询中检索此类信息,则必须在清单中包含选项卡权限。


推荐阅读