异步加载JS

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>

 

posted @ 2019-01-08 12:08  基德的蒸汽朋克  阅读(185)  评论(0编辑  收藏  举报