有没有什么方法可以控制Javascript异步加载顺序?

时间:2015-03-06 06:38:32

标签: javascript asynchronous deferred-loading

如何设置两个外部async Javascript文件的加载和执行顺序?

鉴于以下内容......

<script src="framework.js" async></script> // Larger file
<script src="scripts.js" async></script> // Small file

虽然由scripts.js文件大小导致framework.js之前正在下载并执行scripts.js中的第二个,但framework.js依赖于async

有没有办法在保持{{1}}属性的同时指定加载和执行顺序?

2 个答案:

答案 0 :(得分:13)

如果要保留执行顺序,则需要使用deferdefer的作用是异步下载脚本,但推迟执行直到html解析完成。

<script src="framework.js" defer></script>
<script src="scripts.js" defer></script>

但是,一旦脚本数量增加,您可能希望开始创建自定义捆绑包。

您可以看到差异here

答案 1 :(得分:2)

如果你需要IE9的解决方案(不支持defer属性),我创建了一个小的加载器脚本:

https://github.com/mudroljub/js-async-loader

简而言之,它以异步方式加载所有脚本,然后执行它们。