JS延迟加载

本文介绍了多种JavaScript延迟加载的方法,包括利用定时器、defer属性、async属性、动态创建DOM方式、使用jQuery的getScript()方法及在HTML底部加载JS文件等。这些方法有助于提升网页加载速度和用户体验。

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树已经构建完成了。

转载于:https://www.cnblogs.com/rainbow8590/p/7100616.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值