Chrome 拡張機能を作成し、ユーザーがタブを変更するたびに関数を起動しようとしています。私は webRequest API のリスナーと chrome.tabs を見てきましたが、何を使用し、何を使用しないかを理解できませんでした。
タブから必要な情報は、その URL だけです。
Chrome 拡張機能を作成し、ユーザーがタブを変更するたびに関数を起動しようとしています。私は webRequest API のリスナーと chrome.tabs を見てきましたが、何を使用し、何を使用しないかを理解できませんでした。
タブから必要な情報は、その URL だけです。
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 以降安定)の使用を検討してください。