2013-04-10 30 views
1

嗨,我想在我的popup.js文件中獲取活動選項卡的當前網址,下面是我正在使用的代碼,但不知何故,它不工作,所以你可以幫我解決它的問題。先謝謝你。如何獲得當前的網址爲我的popup.js文件中的選項卡?

function getAmazonURL() 
{ 
    alert("ok"); 
    $url = ""; 
    chrome.windows.getAll({ 
    }, function(windows) { 
     for (var i in windows) { 
      var tabs1 = windows[i].tabs; 
      for (var j in tabs1) { 
       var tab = tabs1[j]; 
       if(tab.active) 
       { 
        $url = tab.url;alert(tab.url); 
       } 
      } 
     } 
    }); 

} 

document.addEventListener('DOMContentLoaded', function() { 
    getAmazonURL(); 
}); 

回答

1

要獲得活動選項卡,您只需使用chrome.tabs.query即可。例如:

chrome.tabs.query({active:true,currentWindow:true},function(tab){ 
    //Be aware that `tab` is an array of Tabs 
    console.log(tab[0].url); 
}); 
+0

嗨@BeardFist感謝您的回覆,但是當我嘗試使用下面的代碼它提醒我,在彈出的不確定。 $ url = console.log(tab [0] .url); alert($ url); – 2013-04-10 11:06:05

+0

@Keyur當然,它提醒'未定義'。 'console.log'不會返回任何內容,所以'$ url'未定義。 – BeardFist 2013-04-10 11:10:30

+0

@Keyur你沒有嘗試實際提醒網址? 'alert(tab [0] .url)'不需要使用局部變量來首先存儲它......我發現使用'console.log'而不是'alert'尤其在彈出窗口中更有用,因爲它不會阻止執行。 – BeardFist 2013-04-10 12:03:47

0
function getAmazonURL() 
{ 
    $chromeurl = ""; 
    chrome.windows.getAll({ 
     "populate":true 
    }, function(windows) { 

     for (var i in windows) { 
      var tabs = windows[i].tabs; 
      for (var j in tabs) { 
       var tab = tabs[j]; 
       if(tab.active) 
       { 
        $chromeurl = tab.url; 
       } 
      } 
     } 
     alert($chromeurl); 

     return $chromeurl; 
    }); 
} 

document.addEventListener('DOMContentLoaded', function() { 
    getAmazonURL(); 
}); 
相關問題