私は基本的に Web ページと対話する Chrome 拡張機能に取り組んでいます。つまり、フォームへの入力、ドロップダウンの選択、ボタンのクリックです。特定のボタンをクリックするとページがリロードされることを除いて、これはすべて問題なくダンディです。これが発生した場合、拡張機能がリロードが完了するまで待機する必要があります。現在、バックグラウンド js ファイルにこの関数があります。
function checkLoaded (time) {
console.log('Checking loaded...');
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo) {
if(changeInfo.status == 'complete'){
console.log("Done");
return;
}
setTimeout(checkLoaded, time, time);
});
}
呼び出しから期待される結果はcheckLoaded(500)
、500 ミリ秒ごとに changeInfo == 'complete'
true かどうかを確認し、ページが完全に読み込まれたときに関数から戻り、そうでない場合は 500 ミリ秒で再度確認します。これは機能していません。助けが必要です。