js延時加載的方法

js的延遲加載有助與提升頁面的加載速度,如下是延遲加載的幾種方法:javascript

  • 1.使用setTimeout延遲方法的加載時間html

    延遲加載js代碼,給網頁加載留出更多時間java

<script type="text/javascript" > function A(){ $.post("/lord/login",{name:username,pwd:password},function(){ alert("Hello"); }); } $(function (){ setTimeout('A()', 1000); //延遲1秒 }) </script>
  • 2.讓js最後加載

例如引入外部js腳本文件時,若是放入html的head中,則頁面加載前該js腳本就會被加載入頁面,而放入body中,則會按照頁面從上倒下的加載順序來運行JavaScript的代碼~~~ 因此咱們能夠把js外部引入的文件放到頁面底部,來讓js最後引入,從而加快頁面加載速度app

  • 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文件底部)post

3).修改「defer.js」爲你的外部JS文件名測試

4).確保你文件路徑是正確的。例如:若是你僅輸入「defer.js」,那麼「defer.js」文件必定與HTML文件在同一文件夾下。spa

注意:這段代碼直到文檔加載完纔會加載指定的外部js文件。所以,不該該把那些頁面正常加載須要依賴的javascript代碼放在這裏。而應該將JavaScript代碼分紅兩組。一組是因頁面須要而當即加載的javascript代碼,另一組是在頁面加載後進行操做的javascript代碼(例如添加click事件或其餘東西)。這些需等到頁面加載後再執行的JavaScript代碼,應放在一個外部文件,而後再引進來。.net

相關文章
相關標籤/搜索