js的延遲加載有助與提高頁面的加載速度,以下是延遲加載的幾種方法:
-
1.使用setTimeout延遲方法的加載時間
延遲加載js代碼,給網頁加載留出更多時間
<script type="text/javascript" >
function A(){
$.post("/lord/login",{name:username,pwd:password},function(){
alert("Hello");
});
}
$(function (){
setTimeout('A()', ); //延遲1秒
})
</script>
- 2.讓js最後加載
例如引入外部js腳本檔案時,如果放入html的head中,則頁面加載前該js腳本就會被加載入頁面,而放入body中,則會按照頁面從上倒下的加載順序來運作JavaScript的代碼~~~ 是以我們可以把js外部引入的檔案放到頁面底部,來讓js最後引入,進而加快頁面加載速度
- 3.上述方法2也會偶爾讓你收到Google頁面速度測試工具的“延遲加載javascript”警告。是以這裡的解決方案将是來自Google幫助頁面的推薦方案。
//這些代碼應被放置在</body>标簽前(接近HTML檔案底部)
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "defer.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
這段代碼意思是等到整個文檔加載完後,再加載外部檔案“defer.js”。
使用此段代碼的步驟:
1).複制上面代碼
2).粘貼代碼到HTML的标簽前 (靠近HTML檔案底部)
3).修改“defer.js”為你的外部JS檔案名
4).確定你檔案路徑是正确的。例如:如果你僅輸入“defer.js”,那麼“defer.js”檔案一定與HTML檔案在同一檔案夾下。
注意:這段代碼直到文檔加載完才會加載指定的外部js檔案。是以,不應該把那些頁面正常加載需要依賴的javascript代碼放在這裡。而應該将JavaScript代碼分成兩組。一組是因頁面需要而立即加載的javascript代碼,另外一組是在頁面加載後進行操作的javascript代碼(例如添加click事件或其他東西)。這些需等到頁面加載後再執行的JavaScript代碼,應放在一個外部檔案,然後再引進來。