2つのJSファイルをロードしています。1つにはJqueryを含む多くのプラグインが含まれています。'ready()'JQuery関数は2番目のファイルにあります。
コード:
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src ='<%= deferJsAll %>';
document.body.appendChild(element);
// second JS file load with isReady goes here
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
2番目のファイルもロードするとわかります(コード内のコメントを参照)。
問題は、実行の順序を制御できないことです。それでも、JQueryがロードされる前に「ready()」が実行され、エラーが発生します。読み込みの延期を使用して、Jqueryファイルが最初に読み込まれ、次に2番目が実行されることを確認するオプションはありますか(ready()関数を使用するもの)?
CDN、gzip、またはプレーンテキストのJSファイルから提供するファイルを決定しているため、「<%= deferJsAll%>」を使用しています。
進捗状況:私はただ置くことを考えました:
var elementApp = document.createElement("script");
elementApp.src = 'js/app.js';
document.body.appendChild(elementApp);
最初のドキュメントの最後に。したがって、最初のドキュメントの読み込みが完了すると、2番目の依存するJSコードがドキュメントの本文に埋め込まれます。いい考えだと思いますか?