另外,我知道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