1

如果我在一个页面上有多个 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?

如果不是,有没有办法让它同步/串行?

4

2 回答 2

2

我实际上在以下浏览器中测试了您的示例,每个浏览器都是串行加载的:

  • 火狐
  • 即 7-9
  • 铬合金
  • 歌剧
  • 苹果浏览器

请阅读这个详尽的答案以获取有关原因的更多信息。

于 2013-02-25T09:17:24.670 回答
1

例如,如果 test*.js 将使用 console.log 写入 1,2 和 3,它是否总是在每个浏览器上写入 1,2,3?

是的。

浏览器可以并行加载脚本,但总是按顺序执行它们。一个例外是您在标签上设置了asyncordefer属性。script动态创建的脚本(通过 JS)本质上也是异步的。

请注意,在页面中放置太多脚本可能会减慢渲染速度。如果服务器花费太长时间来提供文件之一作为下面的标记,script则在脚本加载并执行之前不会呈现。将所有 JS 文件压缩成一个用于生产环境的文件并使用更多脚本标签是一种很好的做法,并且有充分的理由(例如,使用 CDN 托管的库)。

于 2013-02-25T09:12:21.360 回答