私はChrome拡張機能のイベントページを学習しており、ドキュメントに従って、スクリプトは必要なときにのみ読み込まれます。クロム拡張のイベントページにイベントリスナーを繰り返し追加してもよろしいですか?
// Some declarations
chrome.browserAction.onClicked.addListener(goToInbox);
// ...
そして、私はイベントスクリプト記述:私は私の拡張機能は、Googleの新しいタブを再読み込みした後
chrome.tabs.create({url: 'https://www.google.com'});
function onClickListener() {
chrome.tabs.create({url: 'https://www.bing.com'});
}
chrome.browserAction.onClicked.addListener(onClickListener);
をそれから私はGoogle Mail Checkerのイベントページのスクリプトは、イベントリスナーを追加することを見つけます。 comが期待通りに開かれました。その後、Chromeのタスクマネージャで拡張機能のプロセスが終了し、拡張機能アイコンがクリックされました。その後、google.comとbing.comの両方が開きます!だから私はこのスクリプト全体が再び読み込まれることを知ります。
Google Mail Checkerのスクリプトをもう一度見てみましょう。リスナーは、スクリプトがロードされた後に繰り返し追加されるので、私の質問です:リスナーを繰り返し追加してもよろしいですか?スクリプトがロードされたときにリスナーの動作がAからBに変わる場合、どちらが2番目のロードAまたはBで起動されますか?
リスナーがすべて破棄された場合、スクリプトを再読み込みするタイミングをChromeはどのように知っていますか?クロムには拡張機能によって登録されたイベントのリストがあり、イベントが発生するとクロムはスクリプトをリロードし、イベントリスナーがあればそれを呼び出します。 – Perqin