另外,我知道css和图像文件可以并行下载。但javascript文件可以并行下载吗?谢谢。如何按顺序呈现html页面?
回答
当HTML解析器看到一个script
标记时,禁止使用一些特殊属性,它将暂停,下载JavaScript文件,然后将内容交给JavaScript解释器。因此,script
文件不能彼此并行下载,也不能与主HTML一起下载......除非您使用defer
or async
属性并且浏览器支持它们。详情请见this other answer here on StackOverflow。
请注意,即使你有可以并行下载多个资源,也不能保证他们将是。浏览器(和服务器)对同一两个端点之间的同时连接数量进行了限制。 (随着现代浏览器the limit is usually at least four —了两个 —但浏览器可能拨下来的拨号连接和移动设备上;当然,他们是完全免费的,只使用一个连接,这是实现特定的)。
我喜欢答案。然而,并不是说“脚本文件不能并行下载”(浏览器可以乐观地执行这个任务;从执行的脚本等文件修改中有一些问题 - 因此只是“乐观”),而是这样“脚本必须按顺序执行”(并且与文档一起插入)。 – 2010-12-17 19:27:00
@pst:A **非常好点。浏览器*可以*做到这一点。据我所知,没有,但我可能只是无知的一个具体的优化。尽管目前没有做任何事,但你绝对是对的。 – 2010-12-17 22:28:16
脚本在现代浏览器和IE8中并行加载。 Firefox和Safari将一次下载多达六个脚本。但IE8似乎没有设置限制 - 我的测试显示一次加载多达18个脚本。
但是,无论是一个脚本还是六个脚本,其他所有内容都会被阻止。所以浏览器不会加载一个脚本和一个样式表。
您可以通过查看Net标签中的Firebug获得流程的一个好主意。您在右侧看到的那些酒吧被称为瀑布图,并且可以为您提供相当准确的时间表以及时间。
您可以了解更多有关页面加载在此演示文稿:Optimize Your Website to Load Faster资源负载的东西开始幻灯片33
- 1. 如何将HTML呈现给asp.net页面?
- 2. 如何呈现HTML Django页面为PDF?
- 3. 呈现大型HTML页面
- 4. ASP.net MVC呈现html页面
- 5. HtmlUnitDriver如何呈现页面?
- 6. 如何在PDF程序中呈现动态的HTML/PHP页面
- 7. 骨干视图不按顺序呈现
- 8. 如何在另一个html页面中呈现html部分?
- 9. Angularjs没有呈现给html页面
- 10. 在HTML页面内呈现模板
- 11. extjs4 autoLoad呈现html页面不工作?
- 12. Sitecore页面编辑器呈现为HTML
- 13. md-autocomplete未在HTML页面上呈现
- 14. JavaScript呈现HTML页面仍在加载
- 15. 嵌入式JavaScript - 呈现HTML到页面
- 16. JSF页面不呈现为HTML
- 17. React/JSX - 如何按字母顺序呈现列表
- 18. 如何按顺序呈现一系列Django表单?
- 19. 按钮呈现时呈现HTML/ASP.NET
- 20. 如何在执行IScriptControl.GetScriptReferences时规定脚本呈现给页面的顺序?
- 21. 反应点击按钮呈现页面
- 22. 如何截取呈现的HTML页面的屏幕截图
- 23. 如何在Ruby on Rails页面中动态呈现部分HTML?
- 24. 如何使用http responce对象在node.js中呈现html页面?
- 25. 如何使用spark和MVC呈现html页面?
- 26. 如何使用play framework呈现简单的html页面?
- 27. 如何在获得函数响应后呈现html页面
- 28. 如何在JavaScript中打印部分呈现的HTML页面?
- 29. 如何防止部分HTML页面在rails中呈现?
- 30. 如何找到呈现HTML页面需要多长时间?
Firefox的下载平行。 – 2010-12-17 18:40:52
我真的不知道你在这里问什么。也许你应该试着解释你的问题是什么。 – 2010-12-17 18:41:10
嗨安德鲁,我只是想知道的HTML页面渲染过程。谢谢。 – Bobo 2010-12-17 19:11:05