2010-12-17 101 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