2013-02-25 36 views
2

如果我在一个页面上有多个JavaScript文件,它是否会始终在浏览器中连续加载?JavaScript是否在每个浏览器上串行加载?

<script src='test1.js'></script> 
<script src='test2.js'></script> 
<script src='test3.js'></script> 

例如,如果test * .js会使用console.log写1,2和3,它会在每个浏览器上写1,2,3吗?

如果不是,有没有办法让它同步/连续?

+1

我相信是的,尽管我不能指出你的来源。但是如果它不会被连续加载,那么它是没有意义的,因为如果test2.js有依赖于test1.js的代码。如果不按顺序加载,会出错。 – kennypu 2013-02-25 09:10:07

+1

你可以看看http://headjs.com/ – 2013-02-25 09:11:07

+1

[HTML解析顺序/脚本执行顺序](http://stackoverflow.com/questions/7052310/html-parse-order-script-execution ) – JJJ 2013-02-25 09:11:12

回答

1

例如,如果test * .js会使用console.log写1,2和3,它会在每个浏览器上写1,2,3吗?

是的。

浏览器可以并行加载脚本,但会始终按顺序执行脚本。在script标记上设置asyncdefer属性时例外。动态创建的脚本(通过JS)本质上也是异步的。

请注意,在页面中放置太多脚本可能会降低渲染速度。如果服务器需要很长时间才能提供其中一个文件,因为script下方的标记将不会被渲染,直到脚本加载并执行完毕。将生产环境中的所有JS文件缩减为单个文件并使用更多脚本标记(例如使用CDN托管的库)是一种很好的做法。

相关问题