js异步加载的三种方式
1.defer异步加载,要等到dom文档全部解析完才会执行。只有ie9以下可以用,特点是也可以将代码写到内部。
<script type='text/javascript' src='tool.js' defer='defer'></script>
2.async异步加载,加载完就执行,特点是只能加载外部脚本,不能将代码写到内部里面。
<script type='text/javascript' src='tool.js' async='async'></script>
3.动态创建script,插入到dom中,加载完毕后执行回调函数,不仅能实现异步加载还是实现按需加载。
<script>
var script = document.createElement('script');
script.type='text/javascript';
script.src = 'tool.js';
script.onload = function(){//非ie}
script.onreadystatechange = function(){//ie
if(script.readystate == 'complete' || script.readyState == 'loaded'){}
}
document.head.appendChild(script);
</script>
还没有评论,来说两句吧...