Chrome拡張機能では、特定のタブの変更のみをリッスンします。 chrome.tabs.onUpdated.addListener
メソッドを使用すると、これはすべてのタブで実行されることがわかりました。私はextTabId
のリスナーを追加するようにこれを行うChrome拡張機能の1つのタブにのみイベントリスナーを追加します。
var extTabId = 10; // captured when this tab is created
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (tabId !== extTabId) {
return false;
}
// do whatever else I need this specific tab in question to do
});
もっと簡単な方法があります:私は、私が興味タブのIDをキャプチャして、最初、そのようにことを確認する方法を実装しました?
これは、技術的にはすべてのタブにリスナーを追加します。ここの唯一のことは、currentWindowからのアクティブなタブ以外は何もしないことです。しかし、リスナーはまだそこにあり、発砲し、すべてのタブのクエリを実行しています。 OPsソリューションに似ています。これを実際に見るには、上記の2行目のコードとして 'console.log'行を追加してください。 –