开发者问题收集

chrome.tabs.query 返回 .url 为未定义

2013-01-22
3668

更新的问题:我可以通过 console.log 记录任意数量的选项卡,但没有选项卡具有 url 属性。

argh

已解决的原始问题:我似乎无法让这段非常简单的代码在 background.js 中工作。我想访问选项卡,但它们始终为每个选项卡返回 object Object

chrome.tabs.query({}, function(tab){
        alert(tab);
  });

objects!

我的清单文件中确实有选项卡,但即使没有也没什么区别。我个人认为它认为自己没有选项卡的权限,但事实确实如此,而且我的其他权限(如通知和网址)工作正常。谢谢。

3个回答

在 manifest.json 中添加标签权限后,您需要删除并重新添加扩展,以便它考虑新的权限。

strttn
2014-12-01

chrome.tabs.query 实际上返回的是 Tab 对象 数组(这就是您看到 [object, Object] 的原因)。尝试执行以下操作:

alert(tab[0].url);

并查看它是否显示了您期望的内容。

RocketDonkey
2013-01-22

您必须将“tabs”添加到您的 manifest.json 中的权限数组中,否则您将无法看到选项卡的 url。

K. Norbert
2013-04-23