2010-12-17 99 views
1

另外,我知道css和图像文件可以并行下载。但javascript文件可以并行下载吗?谢谢。如何按顺序呈现html页面?

+0

Firefox的下载平行。 – 2010-12-17 18:40:52

+0

我真的不知道你在这里问什么。也许你应该试着解释你的问题是什么。 – 2010-12-17 18:41:10

+0

嗨安德鲁,我只是想知道的HTML页面渲染过程。谢谢。 – Bobo 2010-12-17 19:11:05

回答

3

当HTML解析器看到一个script标记时,禁止使用一些特殊属性,它将暂停,下载JavaScript文件,然后将内容交给JavaScript解释器。因此,script文件不能彼此并行下载,也不能与主HTML一起下载......除非您使用defer or async属性并且浏览器支持它们。详情请见this other answer here on StackOverflow

请注意,即使你有可以并行下载多个资源,也不能保证他们是。浏览器(和服务器)对同一两个端点之间的同时连接数量进行了限制。 (随着现代浏览器the limit is usually at least four   —了两个  —但浏览器可能拨下来的拨号连接和移动设备上;当然,他们是完全免费的,只使用一个连接,这是实现特定的)。

+1

我喜欢答案。然而,并不是说“脚本文件不能并行下载”(浏览器可以乐观地执行这个任务;从执行的脚本等文件修改中有一些问题 - 因此只是“乐观”),而是这样“脚本必须按顺序执行”(并且与文档一起插入)。 – 2010-12-17 19:27:00

+0

@pst:A **非常好点。浏览器*可以*做到这一点。据我所知,没有,但我可能只是无知的一个具体的优化。尽管目前没有做任何事,但你绝对是对的。 – 2010-12-17 22:28:16

0

脚本在现代浏览器和IE8中并行加载。 Firefox和Safari将一次下载多达六个脚本。但IE8似乎没有设置限制 - 我的测试显示一次加载多达18个脚本。

但是,无论是一个脚本还是六个脚本,其他所有内容都会被阻止。所以浏览器不会加载一个脚本和一个样式表。

您可以通过查看Net标签中的Firebug获得流程的一个好主意。您在右侧看到的那些酒吧被称为瀑布图,并且可以为您提供相当准确的时间表以及时间。

您可以了解更多有关页面加载在此演示文稿:Optimize Your Website to Load Faster资源负载的东西开始幻灯片33