javascript - 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
解决方案
您是否在 manifest.json 中添加了“tabs”权限?
来自https://developer.chrome.com/docs/extensions/reference/tabs/#type-Tab
仅当扩展程序的清单包含“选项卡”权限时,URL 属性才存在,并且如果选项卡尚未提交,则可能是一个空字符串。
您可以在没有“选项卡”权限的情况下使用选项卡 API 的几种方法,但是如果您想从查询中检索此类信息,则必须在清单中包含选项卡权限。
推荐阅读
- javascript - 使用 lerna 和 yarn 工作区安装错误
- c# - 为空时创建新 SqlConnection 的最佳方法
- database - 如何让电报机器人知道用户是否收到了链接?
- python - 在 AWS Elastic Beanstalk 上创建应用程序时出现问题
- c# - 在 MSBuild 中找不到类型或命名空间名称,但在 Visual Studio 中有效
- bspline - 如何组合有理 B 样条曲面?
- f# - FParsec - 如何转义分隔符
- bash - 如何提取一行中的字符串
- google-cloud-platform - 如何按集合字段值导出 Firestore 数据集合
- virtual-machine - 虚拟机操作系统不支持鼠标指针集成