如何获取当前打开的选项卡的URL?

时间:2014-07-20 17:50:44

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

我正在尝试获取当前所在标签的网址,一旦我更改标签就应该更改。我的代码是这样的:

var y;
    chrome.tabs.getSelected(null, function(tab) {
    alert("current:"+tab.url);
    y=tab.url;
});

问题是,当我加载扩展名时,它只提供第一页的Url,即chrome://扩展名,并且在我更改标签时不会更改其值。我知道我做错了。我是新的对此,可能无法正确理解。该怎么办?

1 个答案:

答案 0 :(得分:0)

您的代码只运行一次;你期待什么?

您应该将侦听器注册到适当的事件以对更改做出反应。

  • chrome.tabs.onActivated会告诉您切换标签的时间。
  • 除此之外,
  • chrome.tabs.onUpdated会在标签的网址发生变化时触发。
  • 您可能还想听chrome.windows.onFocusChanged

示例:

chrome.tabs.onActivated.addListener( function(activeInfo){
  chrome.tabs.get(activeInfo.tabId, function(tab){
    y = tab.url;
  });
});

总而言之,请另外阅读docs