Tabs.url未定义

时间:2012-11-22 22:53:30

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

我不知道我在这里做错了什么!我相信这应该是有效的。我正在编写一个chrome扩展名,这应该获取当前标签的url并将#current-tab的html设置为url(用于测试目的)。代码成功进入回调,但是当我将它放在一个警告框中时,它表示tab.url是未定义的,并且它没有将它的值放在#current-tab中。这是我的代码:

$('#get-tab').click(function(){
    chrome.tabs.query({"active" : true}, function(tab){
        for (var i = 0; i < tab.length; i++) {
            alert(tab[i].url);
            $('#current-tab').append(tab[i].url);
        };
    });
});

2 个答案:

答案 0 :(得分:2)

chrome.tabs.query实际上会返回Tab个对象的数组,因此您必须引用数组内的选项卡(即使它只有一个Tab):

$('#get-tab').click(function(){
chrome.tabs.query({"active" : true}, function(tab){
    for (var i = 0; i < tab.length; i++) {
        alert(tab[i].url);
        $('#current-tab').append(tab[i].url);
    };
  });
});

答案 1 :(得分:1)

我弄清楚出了什么问题!显然,您需要重新加载扩展以刷新清单文件的更改!我之后添加了权限,但没有在扩展管理器中重新加载扩展,因此更改未生效!我们现在正在滚动!