JS异步加载

来源:互联网 发布:易建联卧推体测数据 编辑:程序博客网 时间:2024/06/08 19:15
<script type="text/javascript" src="demo.js" defer = "defer"></script>    <!-- IE方法 可以将JS代码写在标签内部,等到DOM树生成完之(页面解析完毕)时,才会执行 -->
<script type="text/javascript" src="demo.js" async="async"></script>    <!-- W3C标准 加载完后就立即执行 js代码不能写在里面,加载外部脚本 -->

常用方法是,当需要加载某JS文件时,创建一个script标签,将JS文件的路径传入,同时还可以传入需要调用的某个函数,之后将创建的js标签添加到DOM中,JS文件才会执行。
封装一个异步加载函数,兼容浏览器

// 异步加载function loadScript(url,callback){    var script = document.createElement('script');    script.type = "text/javascript";    if(script.readyState) {//IE        script.onreadystatechange = function(){            if(script.readyState == 'complete' || script.readyState == 'loaded'){                 callback();//可以传入字符串  使用eval()解析            }        }    }else {        script.onload = function(){            callback();        }    }    script.src = url;//直接传入函数的方式写在后面,因为当距离较近时 ie的状态不一定能够检测到    document.head.appendChild(script);//将script标签添加到document才能执行}
原创粉丝点击