• 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树已经构建完成了。
    
  • 相关阅读:
    【现在还没补的比赛及题解】
    【刷题中】
    【寒假的待填的坑】
    【python】爬虫实践
    【python】vscode python环境配置
    【spring学习笔记二】Bean
    【spring学习笔记一】Ioc控制反转
    【2018CCPC秦皇岛】
    【2018ICPC沈阳】
    【2018ICPC青岛】
  • 原文地址:https://www.cnblogs.com/rainbow8590/p/7100616.html
Copyright © 2020-2023  润新知