我正在尝试获取当前所在标签的网址,一旦我更改标签就应该更改。我的代码是这样的:
var y;
chrome.tabs.getSelected(null, function(tab) {
alert("current:"+tab.url);
y=tab.url;
});
问题是,当我加载扩展名时,它只提供第一页的Url,即chrome://扩展名,并且在我更改标签时不会更改其值。我知道我做错了。我是新的对此,可能无法正确理解。该怎么办?
答案 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。