jQuery提供加載腳本文件的getScript(file,callback)函數,解釋它,然後調用callback()函數。如何加載JavaScript文件列表並在全部解釋後調用回調?
如果有多個文件需要執行回調之前加載,人們可能會認爲像這樣的一個解決方案:
function loadOrdered(files, callback) {
$.getScript(files.shift(), files.length
? function(){loadOrdered(files, callback);}
: callback
);
}
然而,這迫使一個非常特定的順序要加載的文件,這意味着瀏覽器必須等待服務器在加載下一個腳本之前做出響應。這可能會導致不必要的延遲。
如何在不強制瀏覽器按順序加載代碼的情況下實現與上述代碼相同的效果?
腳本是你完全控制的東西嗎? – PhonicUK
你是什麼意思?他們是否躺在我的服務器上? –
是的。一種解決方案可能是在每個.js文件的末尾添加「我完成」調用並計算調用次數。但是,當然,如果有任何文件是外部的,這將不起作用。 – PhonicUK