我正在创建一个 Chrome 扩展程序并尝试在每次用户更改选项卡时触发一个函数。我一直在查看 webRequest API 和 chrome.tabs 中的侦听器,但不知道该使用什么,不使用什么。
我需要的唯一信息是它的 url。
我正在创建一个 Chrome 扩展程序并尝试在每次用户更改选项卡时触发一个函数。我一直在查看 webRequest API 和 chrome.tabs 中的侦听器,但不知道该使用什么,不使用什么。
我需要的唯一信息是它的 url。
当窗口中的活动选项卡更改时触发。请注意,在此事件触发时可能未设置选项卡的 URL,但您可以在设置 URL 时侦听 onUpdated 事件以得到通知。
—谷歌文档
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) {
// ...
}
它绝对适用于后台页面(正如 Locercus 在评论中确认的那样),但请考虑使用事件页面(自 Chrome 22 起稳定)。