javascript的下载会阻止浏览器下载其他资源吗?

Neo*_*ang 3 html javascript browser web

我正在阅读"高性能网站",在第6章中,作者写到了下载脚本如何阻止其他下载,因此,最佳做法是将所有脚本放在文档的末尾.

我在Chrome中加载了一个随机页面,从开发人员工具中,我看到几个js并行下载.这里发生了什么?现代浏览器是否已经发展,限制不再存在?还是我错过了什么?

PS我仍然不太明白浏览器在加载页面时如何下载/解析html/javascript/css.是否有任何好的博客文章/资源解释一般原则?

+++++++编辑++++++

从书中引用:

在下载脚本时,实际上禁用了并行下载,即使在不同的主机名上,浏览器也不会启动任何其他下载.此行为的一个原因是脚本可能使用document.write来更改页面内容,因此浏览器会等待确保页面布局正确.

我的Chrome devtools: 我的Chrome devtools

Guf*_*ffa 5

重新安排资源负载有两个不同的原因; 实际装载时间和明显装载时间.

提前放置样式表链接意味着它将在页面内容加载时加载,因此浏览器在加载时不会显示内容.这使得页面看起来加载速度更快,即使总加载时间仍然相同.

如何加载脚本会影响实际加载时间,因为浏览器一次只能从每个主机请求有限数量的资源.如果浏览器从您的服务器加载多个脚本,可能会延迟加载某些图像.早期的浏览器一次只能有两个资源的限制,虽然最近的版本可能一次加载更多的资源,但仍有一个限制.

此外,尽管脚本将并行加载,但脚本的解析是阻塞的.即使已经加载了下一个脚本,也不会在前一个脚本完成之前对其进行解析.

一些reosurces:
YAHOO!加快网站运行的最佳实践
UX运动:为什么你应该在脚本之前放置样式表
Google开发人员:正确地包括样式表和脚本

编辑:

这本书所说的已经过时,现代浏览器有预加载器,允许在使用它们的代码被解析之前加载资源.

关于预加载器:
浏览器预加载器如何使页面加载更快