情况是:
我查询了标签,并知道活动标签的ID:
chrome.tabs.query({active: true, currentWindow: true}, function(arrayOfTabs) {
activeTab = arrayOfTabs[0];
tabId = activeTab.id;
...
}
并注入了一些内容脚本:
chrome.tabs.executeScript(tabId, {file: "content.js"});
可能会将网址更改为新位置。
有线的是activeTab.url
的返回值保持不变。
那么有没有办法获得知道标签ID的新网址。或者我必须再次查询选项卡并找到哪个选项卡与已知ID匹配(当前活动选项卡可能不是前一个选项卡),获取新URL?
非常感谢!
答案 0 :(得分:2)
activeTab.url
是选项卡URL的副本,它不是指向当前选项卡的自刷新指针。chrome.tabs.get(tabId, function(tab) {
if (chrome.runtime.lastError) {
console.log('Tab %d was not found', tabId);
return;
}
console.log('Async callback got tab %d URL: %s', tabId, tab.url);
});
"permissions"
中您需要"tabs"
或"activeTab"如果这是一个有效标签,并且您的扩展程序是通过用户手势调用的。