chrome.tabs.query没有返回正确的选项卡

时间:2013-09-09 12:46:08

标签: javascript google-chrome google-chrome-extension

我正在构建一个chrome扩展程序,用于提交指向聚合网站的链接。为了做到这一点,我需要从当前打开的窗口获取URL,我正在尝试使用此代码:

chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
    var url = tabs[0].url;
    ...
});

只有一个窗口打开时,这样可以正常工作,但是当我打开多个窗口时,它似乎从第一个打开的窗口中选择活动选项卡,而不是从最后一个聚焦窗口。我也试过使用currentWindow,但这似乎有同样的问题。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您的问题似乎非常相似to the one below,请看一下。

来自问题的有用代码示例:

chrome.tabs.getSelected(null, function(tab) { document.getElementById('currentLink').innerHTML = tab.url; });

另请注意关于

的部分
  

不允许使用内联脚本和事件处理程序

(在Chrome扩展程序中)

希望这会让你走上正轨!

编辑我糟糕的格式和对SO格式的不熟悉。

答案 1 :(得分:0)

事实证明问题是我有两个版本的扩展:一个包含解压缩的文件,另一个包装为.crx文件。我正在更新解压缩的代码,但我在浏览器中加载的版本是已经打包的版本。所以我的改变当然没有得到反映。解决方法是确保我使用解压缩版本进行测试。