首页  ·  知识 ·  前端
javascript异步加载方案
记者  CIOZJ  综合  编辑:dezai   图片来源:网络
javascript延迟加载的解决方案
javascript延迟加载的解决方案:
 
1.使用defer标签
 
  1. <span style="font-size: small;"><script type="text/javascript" src="load.js" defer></script></span>  

2.使用XMLHttpRequest对象加载

<span style="font-size: small;">var xhr = new XMLHttpRequest();  

xhr.open("get","load.js",true);  
xhr.onreadystatechange=function(){  
    if(readyState==4){  
        if(status>=200&&status<300||status==304){  
           var script = document.createElement("script");  
            script.type = "text/javascript";  
            script.src = xhr.responseText;  
            document.body.appendChild(script);  
        }  
    }  
}  
xhr.send(null);</span>  
 
 
3.使用推荐的无阻塞模式:
 
function loadScript(url , callback){   
  
     var script = document.createElement("script");   
  
     script.type="text/javascript";   
  
     if(script.readyState){   
 
         script.onreadystatechange = function(){   
 
             if(script.readyState=="loaded"||script.readyState=="complete"){   
  
                  script.onreadystatechange=null;   
  
                  callback();   
  
            }   
  
         }   
  
     }else{   
  
        script.onload = function(){   
  
            callback();   
  
        }   
  
     }   
  
     script.src = url;   
  
     document.getElementsByName("head")[0].appendChild(script);   
  
}  
 
 
 4.HTML5中可以使用async方式设置异步加载js
 
  1. <script type="text/javascript" src="load.js" async="true"></script>  

 

<script type="text/javascript" src="load.js" async="true"></script>  
 
本文作者:记者 来源:CIOZJ
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读