3

我正在创建一个 Chrome 扩展程序并尝试在每次用户更改选项卡时触发一个函数。我一直在查看 webRequest API 和 chrome.tabs 中的侦听器,但不知道该使用什么,不使用什么。

我需要的唯一信息是它的 url。

4

1 回答 1

4

看看chrome.tabs.onActivated

当窗口中的活动选项卡更改时触发。请注意,在此事件触发时可能未设置选项卡的 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 起稳定)。

于 2013-08-10T14:23:57.883 回答