如果我在页面上有多个javascript文件,它是否会始终在浏览器中串行加载?
<script src='test1.js'></script>
<script src='test2.js'></script>
<script src='test3.js'></script>
例如,如果测试* .js使用console.log写入1,2和3,它是否总是在每个浏览器上写入1,2,3?
如果不是,有没有办法使它同步/串行?
答案 0 :(得分:2)
我实际上在以下浏览器中测试了您的示例,每个浏览器都是按顺序加载的:
Please read this exhaustive answer for more information on why.
答案 1 :(得分:1)
例如,如果测试* .js使用console.log写入1,2和3,它是否总是在每个浏览器上写入1,2,3?
是的,它会。
浏览器可以并行加载脚本,但总是按顺序执行它们。例外情况是您在async
标记上设置了defer
或script
属性。动态创建的脚本(通过JS)本质上也是异步的。
请注意,在页面中放置太多脚本可能会降低渲染速度。如果服务器花费的时间太长而无法提供其中一个文件,那么在脚本加载并执行之前,script
下面的标记将不会呈现。优良作法是将所有JS文件简化为生成环境的单个文件,并使用更多脚本标记(例如使用CDN托管的库)。