异步加载JS

Posted 基德的蒸汽朋克

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异步加载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>

 



以上是关于异步加载JS的主要内容,如果未能解决你的问题,请参考以下文章

如何延迟或异步此 WordPress javascript 片段以最后加载以加快页面加载时间?

异步任务片段背景数据

关于js----------------分享前端开发常用代码片段

ES7-Es8 js代码片段

Chrome-Devtools代码片段中的多个JS库

angularJS使用ocLazyLoad实现js延迟加载