咨詢電話:0531-83188567
發布時間:2020-11-25 09:26:12
延遲加載圖像是指異步加載網站上的圖像-也就是說,在首屏內容完全加載后,甚至有條件地,僅當它們出現在瀏覽器的視口中時。這意味著,如果用戶沒有完全向下滾動,則位于頁面底部的圖像甚至都不會被加載。
許多網站都使用這種方法,但是在圖片繁多的網站上尤其明顯。嘗試瀏覽您最喜歡的在線狩獵場以獲得高分辨率照片,您很快就會意識到該網站僅加載有限數量的圖像的方式。向下滾動頁面時,您會看到占位符圖像迅速填充真實圖像進行預覽。例如,請注意下圖中的加載程序:將頁面的該部分滾動到視圖中會觸發使用全分辨率照片替換占位符:
至少有兩個極好的原因,您應該考慮為網站延遲加載圖像:
好吧,延遲加載圖像有助于提高網站性能,但是最好的解決方法是什么?
沒有完美的方法。
如果您生活和呼吸JavaScript,那么實現自己的延遲加載解決方案就不會成為問題。沒有什么比您自己編寫代碼給您更多的控制權了。
或者,您可以瀏覽Web以找到可行的方法并開始進行試驗。我就是這樣做的,并且遇到了這五種有趣的技術。
圖像和iframe的本機延遲加載非常酷。沒有什么比下面的標記更直接了:
<img src="myimage.jpg" loading="lazy" alt="..." />
<iframe src="content.html" loading="lazy"></iframe>
如您所見,沒有JavaScript,沒有src
屬性值的動態交換,只是普通的舊HTML。
該loading
屬性使我們可以選擇延遲屏幕外圖像和iframe,直到用戶滾動到頁面上的位置為止。loading
可以采用以下三個值之一:
lazy
:非常適合延遲加載eager
:指示瀏覽器立即加載指定的內容auto
:保留延遲加載或不延遲加載到瀏覽器的選項。這種方法無可匹敵:它的開銷為零,簡潔明了。但是,盡管在撰寫本文時,大多數主流瀏覽器都對該loading
屬性提供了良好的支持,但并不是所有瀏覽器都支持該特性。
要獲得有關此令人敬畏的延遲加載圖像功能的深入文章,包括瀏覽器支持的解決方法,請不要錯過Addy Osmani的“ Web的本地圖像延遲加載!”。