異步加載腳本我正在使用來自JQuery的幾個插件、自定義小部件和其他庫。因此,我有幾個.js和.css文件。我需要為我的網(wǎng)站創(chuàng)建一個加載程序,因為它需要一些時間來加載。如果我能夠在導(dǎo)入所有以下內(nèi)容之前顯示加載程序,那就太好了:<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script><script type="text/javascript" src="js/myFunctions.js"></script>
<link type="text/css" href="css/main.css" rel="stylesheet" />...
....
etc我已經(jīng)找到了幾個教程,使我能夠異步導(dǎo)入JavaScript庫。例如,我可以這樣做: (function () {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'js/jquery-ui-1.8.16.custom.min.js';
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
})();由于某種原因,當(dāng)我對所有文件做同樣的事情時,頁面就不工作了。我一直試圖找出問題出在哪里,但我就是找不到。首先,我認(rèn)為這可能是因為一些javascript函數(shù)依賴于其他函數(shù)。但是,我使用超時函數(shù)按正確的順序加載它們,當(dāng)一個函數(shù)完成時,我繼續(xù)進(jìn)行下一個操作,頁面的行為仍然很奇怪。例如,我不能點擊鏈接等.。但是動畫仍然有效.。亞細(xì)亞我一直在想.。我相信瀏覽器有緩存,這就是為什么第一次加載頁面需要很長時間,下一次加載速度很快。因此,我想做的是用異步加載所有這些文件的頁面替換index.html頁面。完成Ajax之后,將所有這些文件重定向到我計劃使用的頁面。在使用該頁面時,加載不需要很長時間,因為文件應(yīng)該已經(jīng)包含在瀏覽器的緩存中。在我的索引頁面(.js和.css文件異步加載的頁面)上,我不關(guān)心獲取錯誤。我只會顯示一個加載程序并在完成后重定向頁面.這個主意是個好選擇嗎?還是應(yīng)該繼續(xù)嘗試實現(xiàn)異步方法?
異步加載腳本
牛魔王的故事
2019-07-09 10:22:45