JS异步加载三种方案
1. defer异步加载,但要等到dom文档全部解析完才会被执行。且只有IE可以用,也可以将代码写到内部。
1 <script type="text/javascript" defer="defer"> //在script里这样写就可以了2 ??????var a = 123; //defer异步加载可以在里面写代码3 </script>
2. async异步加载,加载完就执行。async只能加载外部脚本,是不能将js代码写到script标签里。
1 <script type="text/javascript" async="async">
//不能在里面写代码,只能外部src调用
</script>
async是W3C标准规定的,兼容各大浏览器。
3. 第三种方式就是通过创建标签的方式
<script type="text/javascript"> ???????var script = document.createElement(‘script‘); ???????script.type = "text/javascript"; ???????script.src = "demo.js"; //下载完 ???????document.head.appendChild(script); //当插入进去script后,才会解析这个js。否则只是下载完,不会执行。</script>
异步加载JS
原文地址:https://www.cnblogs.com/cz976230/p/10233946.html