久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

延遲加載圖像以提高成都網(wǎng)站建設(shè)性能的五種方法

2022-08-10    分類: 網(wǎng)站建設(shè)

由于圖像是成都網(wǎng)站建設(shè)上最流行的內(nèi)容類型之一,因此網(wǎng)站上的頁面加載時(shí)間很容易成為問題。

即使進(jìn)行了適當(dāng)?shù)膬?yōu)化,圖像也可能占很大的比重。這可能會(huì)對訪問者必須等待才能訪問您網(wǎng)站上的內(nèi)容的時(shí)間產(chǎn)生負(fù)面影響。除非您想出一種不會(huì)干擾速度感知的圖像加載解決方案,否則它們很可能會(huì)耐心地在其他地方導(dǎo)航。

在本文中,您將了解五種延遲加載圖像的方法,可以將它們添加到Web優(yōu)化工具包中以改善網(wǎng)站上的用戶體驗(yàn)。

什么是延遲加載?

延遲加載圖像是指異步加載網(wǎng)站上的圖像-也就是說,在首屏內(nèi)容完全加載后,甚至有條件地,僅當(dāng)它們出現(xiàn)在瀏覽器的視口中時(shí)。這意味著,如果用戶沒有完全向下滾動(dòng),則位于頁面底部的圖像甚至都不會(huì)被加載。

許多網(wǎng)站都使用這種方法,但是在圖片繁多的網(wǎng)站上尤其明顯。嘗試瀏覽您最喜歡的在線狩獵場以獲得高分辨率照片,您很快就會(huì)意識到該網(wǎng)站僅加載有限數(shù)量的圖像的方式。向下滾動(dòng)頁面時(shí),您會(huì)看到占位符圖像迅速填充真實(shí)圖像進(jìn)行預(yù)覽。例如,請注意下圖中的加載程序:將頁面的該部分滾動(dòng)到視圖中會(huì)觸發(fā)使用全分辨率照片替換占位符:

為什么要關(guān)心延遲加載圖像?

至少有兩個(gè)極好的原因,您應(yīng)該考慮為網(wǎng)站延遲加載圖像:

如果您的網(wǎng)站使用JavaScript來顯示內(nèi)容或向用戶提供某種功能,則快速加載DOM變得至關(guān)重要。腳本通常要等到DOM完全加載后才能開始運(yùn)行。在包含大量圖像的網(wǎng)站上,延遲加載(或異步加載圖像)可能會(huì)導(dǎo)致用戶停留或離開您的網(wǎng)站有所不同。 由于大多數(shù)惰性加載解決方案都是通過僅在用戶滾動(dòng)到在視口內(nèi)可見圖像的位置時(shí)才加載圖像來工作的,因此如果用戶從未到達(dá)該點(diǎn),則將永遠(yuǎn)不會(huì)加載這些圖像。這意味著可以節(jié)省大量帶寬,為此,大多數(shù)用戶,特別是那些在移動(dòng)設(shè)備上訪問Web且連接緩慢的用戶,將非常感謝您。

好吧,延遲加載圖像有助于提高網(wǎng)站性能,但是的解決方法是什么?

沒有好的方法。

如果您生活和呼吸JavaScript,那么實(shí)現(xiàn)自己的延遲加載解決方案就不會(huì)成為問題。沒有什么比您自己編寫代碼給您更多的控制權(quán)了。

或者,您可以瀏覽Web以找到可行的方法并開始進(jìn)行試驗(yàn)。我就是這樣做的,并且遇到了這五種有趣的技術(shù)。

#1本機(jī)延遲加載

圖像和iframe的本機(jī)延遲加載非常酷。沒有什么比下面的標(biāo)記更直接了:

<img src="myimage.jpg" loading="lazy" alt="..." /><iframe src="content.html" loading="lazy"></iframe>

如您所見,沒有JavaScript,沒有src屬性值的動(dòng)態(tài)交換,只是普通的舊HTML。

該loading屬性使我們可以選擇延遲屏幕外圖像和iframe,直到用戶滾動(dòng)到頁面上的位置為止。loading可以采用以下三個(gè)值之一:

if ( !!window.propertag ) { window.propertag.cmd.push(function() { proper_display('sitepoint_content_1'); }); }

lazy:非常適合延遲加載 eager:指示瀏覽器立即加載指定的內(nèi)容 auto:保留延遲加載或不延遲加載到瀏覽器的選項(xiàng)。

這種方法無可匹敵:它的開銷為零,簡潔明了。但是,盡管在撰寫本文時(shí),大多數(shù)主流瀏覽器都對該loading屬性提供了良好的支持,但并不是所有瀏覽器都支持該特性。

要獲得有關(guān)此令人敬畏的延遲加載圖像功能的深入文章,包括瀏覽器支持的解決方法,請不要錯(cuò)過Addy Osmani的“ Web的本地圖像延遲加載!”。

#2使用Intersection Observer API的延遲加載

Intersection Observer API是一個(gè)現(xiàn)代化的界面,你可以利用的延遲加載圖片和其他內(nèi)容。

MDN引入此API的方法如下:

Intersection Observer API提供了一種異步觀察目標(biāo)元素與祖先元素或頂級文檔的視口相交的變化的方法。

換句話說,異步監(jiān)視的是一個(gè)元素與另一個(gè)元素的交集。

Denys Mishunov在“相交觀察器”和使用它的延遲加載圖像方面都有很好的教程。這就是他的解決方案。

假設(shè)您要延遲加載圖片庫。每個(gè)圖像的標(biāo)記如下所示:

<img data-src="image.jpg" alt="test image">

請注意,圖像的路徑是如何包含在data-src屬性(而不是src屬性)中的。原因是使用src意味著圖像將立即加載,這不是您想要的。

在CSS中,為每個(gè)圖像賦予一個(gè)min-height值,例如100px。這為每個(gè)圖像占位符(不帶src屬性的img元素)提供了一個(gè)垂直尺寸:

img { min-height: 100px; /* more styles here */}

然后,在JavaScript文檔中,創(chuàng)建一個(gè)config對象并將其注冊到intersectionObserver實(shí)例:

// create config object: rootMargin and threshold// are two properties exposed by the interfaceconst config = { rootMargin: '0px 0px 50px 0px', threshold: 0};// register the config object with an instance// of intersectionObserverlet observer = new intersectionObserver(function(entries, self) { // iterate over each entry entries.forEach(entry => { // process just the images that are intersecting. // isIntersecting is a property exposed by the interface if(entry.isIntersecting) { // custom function that copies the path to the img // from data-src to src preloadImage(entry.target); // the image is now in place, stop watching self.unobserve(entry.target); } });}, config);

最后,您遍歷所有圖像并將它們添加到此iterationObserver實(shí)例中:

const imgs = document.querySelectorAll('[data-src]');imgs.forEach(img => { observer.observe(img);});

該解決方案的優(yōu)點(diǎn):實(shí)施起來輕而易舉,有效,并且intersectionObserver在計(jì)算方面做得很繁重。

if ( !!window.propertag ) { window.propertag.cmd.push(function() { proper_display('sitepoint_content_2'); }); }

另一方面,盡管大多數(shù)瀏覽器都支持Intersection Observer API最新版本,但并非所有瀏覽器都始終支持它。幸運(yùn)的是,可以使用polyfill。

您可以在Denys的文章中了解有關(guān)Intersection Observer API的更多信息以及此實(shí)現(xiàn)的詳細(xì)信息。

#3 Lozad.js

實(shí)現(xiàn)圖像的延遲加載的一種快速簡便的替代方法是讓JS庫為您完成大部分工作。

Lozad是純JavaScript中的高性能,輕量且可配置的惰性加載器,沒有任何依賴關(guān)系。您可以使用它來延遲加載圖像,視頻,iframe和更多內(nèi)容,并且它使用Intersection Observer API。

您可以將Lozad包含在npm / Yarn中,并使用所選的模塊捆綁器將其導(dǎo)入:

npm install --save lozadyarn add lozad import lozad from 'lozad';

另外,您可以簡單地使用CDN下載該庫并將其添加到HTML頁面底部的< script>標(biāo)記中:

<script src="https://cdn.jsdelivr.net/npm/lozad/dist/lozad.min.js"></script>

接下來,對于基本實(shí)現(xiàn),將lozad類添加到標(biāo)記中的資產(chǎn):

<img class="lozad" data-src="img.jpg">

最后,在您的JS文檔中實(shí)例化Lozad:

const observer = lozad();observer.observe();

您將在Lozad GitHub存儲(chǔ)庫中找到有關(guān)如何使用該庫的所有詳細(xì)信息。

如果您不想深入了解Intersection Observer API的工作原理,或者只是在尋找適用于各種內(nèi)容類型的快速實(shí)現(xiàn),則Lozad是一個(gè)不錯(cuò)的選擇。

僅注意瀏覽器支持,并最終將此庫與用于Intersection Observer API的polyfill集成。

#4延遲加載具有模糊的圖像效果

如果您是中型讀者,那么您肯定已經(jīng)注意到該網(wǎng)站如何在帖子中加載主圖像。

您首先看到的是圖像的模糊,低分辨率副本,而其高分辨率版本則被延遲加載:

中型網(wǎng)站上的占位符圖片模糊

中等網(wǎng)站上的高分辨率,延遲加載的圖像

您可以通過多種方式來延遲加載具有這種有趣的模糊效果的圖像。

我最喜歡的技術(shù)是Craig Buckler。這是此解決方案的全部優(yōu)點(diǎn):

性能:僅463字節(jié)的CSS和1,007字節(jié)的最小JavaScript代碼 支持視網(wǎng)膜屏幕 無依賴關(guān)系:不需要jQuery或其他庫和框架 逐步增強(qiáng)功能以??抵消較舊的瀏覽器和JavaScript失敗

您可以在“ 如何構(gòu)建自己的漸進(jìn)式圖像加載器”中閱讀有關(guān)它的全部信息,并在項(xiàng)目的GitHub存儲(chǔ)庫上下載代碼。

#5 Yall.js

Yall是功能豐富的延遲加載腳本,用于圖像,視頻和iframe。更具體地說,它使用Intersection Observer API并在必要時(shí)巧妙地使用傳統(tǒng)的事件處理程序技術(shù)。

在文檔中包含Yall時(shí),需要按以下方式對其進(jìn)行初始化:

<script src="yall.min.js"></script><script> document.addEventListener("DOMContentLoaded", yall);</script>

接下來,要延遲加載一個(gè)簡單的img元素,在標(biāo)記中需要做的就是:

<img class="lazy" src="placeholder.jpg" data-src="image-to-lazy-load.jpg" alt="Alternative text to describe image.">

請注意以下幾點(diǎn):

您將懶惰的類添加到元素 的值src是一個(gè)占位符圖像 您要延遲加載的圖像的路徑在data-src屬性內(nèi)部

Yall的好處包括:

Intersection Observer API的出色性能 出色的瀏覽器支持(可回溯到IE11) 無需其他依賴項(xiàng)

要了解有關(guān)Yall可以提供的內(nèi)容以及更復(fù)雜的實(shí)現(xiàn)的更多信息,請隨時(shí)查看GitHub上的項(xiàng)目頁面。

結(jié)論

這樣就可以了-延遲加載圖像的五種方法,您可以開始在項(xiàng)目中進(jìn)行試驗(yàn)和測試。

網(wǎng)頁標(biāo)題:延遲加載圖像以提高成都網(wǎng)站建設(shè)性能的五種方法
文章URL:http://www.js-pz168.com/news48/188198.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項(xiàng)目有網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
欧美日韩在线一区二区| 亚洲日本乱码在线观看| 夜夜嗨av一区二区三区| 精品一区二区三区香蕉蜜桃| 91年精品国产| 伊人久久大香线蕉av一区| 欧美成人精品3d动漫h| 一区二区三区四区不卡视频| 国产精一品亚洲二区在线视频| 国产视频99| 欧美日韩国产在线观看| 国产欧美一区二区三区在线看蜜臀| 亚洲成人动漫一区| www.亚洲免费av| 日韩欧美电影一区二区| 日韩精品一区在线| 亚洲国产三级在线| 99国产精品国产精品久久| 亚洲一区二区三区在线观看视频 | 久久久美女毛片| 日日夜夜免费精品| 99re国产视频| 欧美日韩视频不卡| 亚洲欧洲日本在线| 国产激情视频一区二区在线观看 | 国产一区二区高清不卡| 欧美日韩亚洲综合在线 | 欧美变态口味重另类| 亚洲成人av在线电影| 91视频xxxx| 欧美四级电影在线观看| 成人欧美一区二区三区在线播放| 国内精品久久久久影院一蜜桃| 久久99精品久久久久久水蜜桃 | 激情成人午夜视频| 欧美日韩在线精品| 精品国产乱子伦一区| 视频一区二区欧美| 国产一区二区三区四区五区加勒比| 欧洲亚洲国产日韩| 亚洲免费观看视频| 99re热这里只有精品视频| 91福利社在线观看| 亚洲免费视频中文字幕| 91无套直看片红桃| 欧美另类z0zxhd电影| 一区二区成人在线视频| 91浏览器打开| 91精品欧美综合在线观看最新| 亚洲一区二区高清| 国产精品一区二区三区免费| 欧美一区二区三区啪啪| 秋霞电影一区二区| 久久精彩视频| 国产亚洲污的网站| 国产经典欧美精品| 91国产免费看| 亚洲午夜久久久| 国产尤物99| 久久久久久久免费视频了| 国产在线不卡一卡二卡三卡四卡| 亚洲精品一区二区三区av| 国产精品久久久一区麻豆最新章节| 成人深夜福利app| 欧美日本一道本在线视频| 亚洲成人免费影院| 久久久99国产精品免费| 国产亚洲精品久| 风间由美中文字幕在线看视频国产欧美| 日本乱人伦aⅴ精品| 亚洲尤物视频在线| 久久综合精品一区| 国产精品伦理一区二区| 91蝌蚪国产九色| 精品国产sm最大网站| 国产成人综合自拍| 欧美日韩一区久久| 免费观看在线色综合| 亚洲一区二区三区涩| 亚洲精品免费电影| 久久久久九九九| 中文字幕在线不卡| 高清视频一区二区三区| 久久青草欧美一区二区三区| 成人免费看片app下载| 欧美一区二区视频网站| 韩国三级在线一区| 欧美日韩国产另类不卡| 免费不卡在线视频| 色狠狠av一区二区三区| 日日夜夜精品视频免费| 一卡二卡3卡四卡高清精品视频| 亚洲在线中文字幕| 日本一区二区久久精品| 樱花草国产18久久久久| 欧美久久久久久久| 亚洲美女偷拍久久| 日本一区高清在线视频| 一区二区三区色| 日韩电影免费观看高清完整| 一区二区三区欧美| 神马欧美一区二区| 亚洲不卡av一区二区三区| 亚洲国产精品毛片| 天天影视色香欲综合网老头| 中文字幕一区综合| 日本不卡一二三区黄网| 欧美在线短视频| 久久se精品一区二区| 欧美日韩三级在线| 国内精品视频666| 日韩一区二区在线观看视频| 国产成人av网站| 欧美成人一区二区三区片免费 | 亚洲国产精品t66y| 国内精品视频免费| 亚洲精品亚洲人成人网| 五月天色一区| 日本欧洲一区二区| 欧美日韩视频不卡| 丰满少妇久久久久久久| 久久免费电影网| 国产一区免费在线| 亚洲曰韩产成在线| 在线视频国内一区二区| 国产一区二区久久| 精品国内片67194| www 成人av com| 亚洲图片另类小说| 亚洲国产高清国产精品| 久久成人免费网站| 欧美电影免费观看高清完整版在 | 亚洲第一精品在线| 91久久人澡人人添人人爽欧美| 狠狠色狠狠色合久久伊人| 日韩欧美成人激情| 成人9ⅰ免费影视网站| 亚洲免费在线视频一区 二区| 亚洲va久久久噜噜噜久久狠狠| 日韩国产欧美三级| 欧美一区二区国产| 91在线短视频| 一区二区三区中文在线| 色爱区综合激月婷婷| 国产69精品一区二区亚洲孕妇 | 欧美久久久一区| 91麻豆免费视频| 亚洲欧美日韩一区| 91国模大尺度私拍在线视频 | 欧美一区二区视频在线观看| 99国产超薄肉色丝袜交足的后果| 亚洲人成小说网站色在线| 色综合欧美在线| 国产99精品视频| 18欧美亚洲精品| 一本一道波多野结衣一区二区| 国产成人综合在线播放| 国产精品美女久久久久高潮| 亚洲欧美日韩精品综合在线观看| 国产一区二区在线观看免费| 国产欧美一区二区在线| 亚洲色图自拍| 成人免费观看av| 亚洲激情一二三区| 欧美日韩大陆一区二区| 99中文字幕| 爽好多水快深点欧美视频| 日韩欧美123| 欧美一区国产一区| 国产精品一区二区三区99| 中文字幕乱码一区二区免费| 一区二区三区四区五区精品 | 欧美日本韩国一区二区三区| 久久99久久99| 中文字幕av一区二区三区高| 色综合色综合色综合 | 日韩三级电影免费观看| 国产69精品久久久久毛片| 亚洲啪啪综合av一区二区三区| 欧美视频一区在线观看| 成人在线资源网址| 麻豆一区二区在线| 欧美国产欧美综合| 欧美午夜电影在线播放| 国产视频不卡| 国内成人精品2018免费看| 国产精品久久久久久久久久久免费看| 在线一区二区三区做爰视频网站| 91网免费观看| 美女视频网站黄色亚洲| 国产精品欧美久久久久一区二区 | 人偷久久久久久久偷女厕| 豆国产96在线|亚洲| 一区二区欧美精品| 精品美女被调教视频大全网站| 亚洲毛片aa| 超碰97在线资源| 韩国女主播一区二区三区| 亚洲欧美电影一区二区| 日韩欧美在线1卡|