JS延迟加载

来源:互联网 发布:哪些软件可以赚集分宝 编辑:程序博客网 时间:2024/06/07 11:07

JS延迟加载的几种方法:

利用定时器

    利用定时器,延迟一定的时间后再引入js文件,给html的加载和渲染留出时间    setTimeout(function(){       document.getElementById(‘my').src='demo.js';    } “,3000);//延时3秒后执行 

defer 属性

    加上 defer 等于在页面完全载入后再执行    <scriptsrc="demo.js" defer></script>

async 属性

    js文档一旦下载完毕就会立刻执行,所以可能是不按照页面引入的顺序执行。    <scriptsrc="file.js" async></script>  

动态创建DOM方式

    监听load事件,当load事件触发的时候就动态加载js文件   <script type="text/javascript">         function downloadJSAtOnload() {             varelement = 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>  

使用jQuery的getScript()方法

    通过回调函数来延迟加载js文件,回调函数时获取到demo.js后执行的代码    $.getScript("demo.js",function(){      console.log("脚本加载完成")      });  

在html底部加载js文件

    html是从上到下执行的,所以在</body>的前面引入js文件,js文件获取到执行的时候,DOM树已经构建完成了。