我正在创建Chrome扩展程序并尝试在每次用户更改标签时触发一个功能。我一直在关注webRequest API中的监听器和chrome.tabs,但无法确定要使用什么,以及什么不能使用。
我需要从标签中获取的唯一信息是其网址。
答案 0 :(得分:4)
窗口中的活动标签更改时触发。请注意标签的网址 可能不会在此事件触发时设置,但您可以收听 设置URL时要通知的onUpdated事件。
- Google Documentation
chrome.tabs.onActivated.addListener(function(activeInfo) {
chrome.tabs.get(activeInfo.tabId, function (tab) {
mySuperCallback(tab.url);
});
});
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, updatedTab) {
chrome.tabs.query({'active': true}, function (activeTabs) {
var activeTab = activeTabs[0];
if (activeTab == updatedTab) {
mySuperCallback(activeTab.url);
}
});
});
function mySuperCallback(newUrl) {
// ...
}
它肯定适用于背景页面(正如a comment中确认的Locercus),但请考虑使用event pages(自Chrome 22以来稳定)。