3

Chrome 拡張機能を作成し、ユーザーがタブを変更するたびに関数を起動しようとしています。私は webRequest API のリスナーと chrome.tabs を見てきましたが、何を使用し、何を使用しないかを理解できませんでした。

タブから必要な情報は、その URL だけです。

4

1 に答える 1

4

chrome.tabs.onActivatedを見てください:

ウィンドウ内のアクティブなタブが変更されたときに発生します。このイベントが発生した時点でタブの URL が設定されていない可能性がありますが、onUpdated イベントをリッスンして、URL が設定されたときに通知されることに注意してください。
Google ドキュメント

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 に答える