2016-09-30 25 views
1

我使用HTTP2加載我的網站上的所有圖像,並在幾個地方我也使用延遲加載與jQuery插件,即只有當他們進入視口加載圖像。使用JavaScript來延遲加載圖像保留了HTTP2的好處嗎?

我的問題是,用這種方式使用Javascript加載圖像否定HTTP2的好處?並非一次加載多個圖像,而是一次一個或一次加載一次,感覺像是退回到HTTP1。瀏覽器在通過JS加載資源時是否仍然使用多路複用?

+0

你相信你現在從使用JS來懶加載你的圖片有什麼好處?這樣做很少有很好的理由。瀏覽器非常擅長優先處理內容。 – Brad

+1

懶惰加載它仍然有用,更多與帶寬有關,爲什麼你會認爲瀏覽器在使用javascript時會停止使用多路複用?如果懶惰的加載器是異步的,我沒有看到任何性能損失的原因。 – Keith

+0

@Brad我不知道這是真的,因爲瀏覽器必須等待下載所有圖像,然後再運行任何遵循它們的JS。 – DisgruntledGoat

回答

1

無論您是通過HTML標記(如<img>)還是通過Javascript(XHR或獲取API)加載資源或圖像,瀏覽器無關緊要。它仍然會根據服務器的功能選擇協議(HTTP/1.1或HTTP/2),而不是基於您用來請求資源的方式。

這意味着如果服務器支持它,也可以使用HTTP/2和多路複用來加載任何通過Javascript的東西。當然,您還可以利用HTTP/2的功能,例如只需創建一個TCP連接和標題壓縮。但是,如果您的磁帶庫一次只發出一個請求,那麼它可能不會利用HTTP/2來充分發揮其潛力,因爲那時只會使用一個HTTP/2流。在這種情況下,檢查庫是否可以配置爲一次加載多個並行資源可能是有意義的。