js实现延迟加载的几种方法
js的延迟加载有助与提高页面的加载速度,以下是延迟加载的几种方法:
1.使用settimeout延迟方法的加载时间
延迟加载js代码,给网页加载留出更多时间
<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最后引入,从而加快页面加载速度
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代码,应放在一个外部文件,然后再引进来。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: 大人孩子间的有趣开心事儿。