"run_at": "document_end"
と同等DOMContentLoaded
です。 つまり、静的HTMLがロードされた後、遅い画像と遅い終了のjavascriptの前に発生します。
したがって、マニフェストのみを設定するだけでは、ページのJSの後に起動するようにコンテンツスクリプトを設定することはできません。これについては、コンテンツスクリプト自体でコーディングする必要があります。
コンテンツスクリプトの場合、はイベント"run_at": "document_end"
の前にonload
起動します(デフォルトとは異なり、document_idle
予測できない時間に起動する可能性があります)。
したがって、最初のステップはload
、コンテンツスクリプト(searchTopic.js
)で次のようなコードを使用してイベントを待機することです。
window.addEventListener ("load", myMain, false);
function myMain (evt) {
// DO YOUR STUFF HERE.
}
気になるスクリプトが完了するまでに時間がかかる場合は、ケースバイケースで何らかの条件をポーリングする必要があります。例えば:
window.addEventListener ("load", myMain, false);
function myMain (evt) {
var jsInitChecktimer = setInterval (checkForJS_Finish, 111);
function checkForJS_Finish () {
if ( typeof SOME_GLOBAL_VAR != "undefined"
|| document.querySelector ("SOME_INDICATOR_NODE_css_SELECTOR")
) {
clearInterval (jsInitChecktimer);
// DO YOUR STUFF HERE.
}
}
}