异步加载JS的方法。

默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。 所以,那么有些不涉及dom操作的脚本可以延迟加载。

1.使用<script>标签的defer属性。

如:<script type="text/javascript" src="example.js" defer="defer"></script>。W3C 说进IE支持该属性。

 

2.HTML5的async属性。

async属性仅适合外部脚本。

 

3.动态创建<script>标签。

 1 <script>
 2     /*
 3         这里是必须要先加载的代码
 4     */
 5     var script = document.createElement('script');
 6     script.type = 'text/javascript';
 7     script.src = 'script/example.js';
 8     var elem = document.getElementsByTagName('script')[0];
 9     elem.parentNode.insertBefore(script,elem);
10 </script>

 

4.利用ajax异步加载。

原理是利用ajax通过responseText获得脚本内容,然后同伙eval()来运行。

 

5.异步iframe,这个自己还不大不理解,先记录。

posted @ 2014-03-20 23:18  还好我是程序员  阅读(146)  评论(0编辑  收藏