當初始HTML中引用的所有資源均已下載(或在出現錯誤時超時)時,將觸發文檔就緒事件。 如果您動態注入對另一個腳本的引用(例如facebook api,google Analytics等),則相對於文檔就緒事件而言,其准備狀態是不確定的。
如果要檢查外部腳本是否准備就緒,可以檢查其創建的對象是否已加載 。
<script type="text/javascript">
var startAfterJqueryLoaded = function(){
if(typeof jQuery === "undefined" ) {
setTimeout( startAfterJqueryLoaded, 100 );
return;
}
// jQuery is ready, do something
}
startAfterJqueryLoaded();
</script>
或者,如果您控制着要動態注入的腳本,則可以建立一個全局函數,准備好后將調用它。
<script type="text/javascript">
window.dynamicScriptIsReady = function(){
// do something
}
</script>
// Dynamic.js
// ...Setup whatever
window.dynamicScriptIsReady();