我有一個延期加載的JavaScript的代碼我想知道如果代碼將按順序加載腳本(JQuery.min
第一次)根據他們在代碼中的位置?推遲加載JavaScript的谷歌頁面的見解
function downloadJSAtOnload() {
var element01 = document.createElement("script");
element01.src = "js/jquery.min.js";
document.body.appendChild(element01);
var element02 = document.createElement("script");
element02.src = "js/plugins.js";
document.body.appendChild(element02);
var element03 = document.createElement("script");
element03.src = "js/scripts.js";
document.body.appendChild(element03);
var element04 = document.createElement("script");
element04.src = "js/SmoothScroll.min.js";
document.body.appendChild(element04);
var element05 = document.createElement("script");
element05.src = "js/contact-form.js";
document.body.appendChild(element05);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
如果這不加載JQuery.min
第一,然後其他js文件你怎麼能JQuery.min第一個腳本加載,然後在此之後,其餘已加載? 另外我猜測,例如contact-form.js
將是第一個完成加載,因爲它很小,所以這可能會導致Uncaught ReferenceError: $ is not defined
我猜,因爲JQuery.min尚未完成下載,所以你會如何解決這個問題?我猜測聽衆/如果完成加載加載其他人等待... 在此先感謝
你是正確的,你呼喚他們發現爲了通過你不能肯定他們會回來的相同順序。回調或承諾可以解決這個問題。 –
你可以使用承諾加載jquery.min,然後在其餘的加載解決方案? – CumminUp07
我會研究這個我旁邊沒有承諾的知識 –