頁(yè)面加載速度直接影響到用戶(hù)體驗(yàn),特別是對(duì)于新用戶(hù),這種影響非常明顯。然而,網(wǎng)頁(yè)的加載速度受網(wǎng)絡(luò)、服務(wù)器和瀏覽器的影響,因此網(wǎng)頁(yè)優(yōu)化不僅與后端開(kāi)發(fā)有關(guān),而且與“有希望”的前端有關(guān)。因此,本文從前端的角度探討了網(wǎng)頁(yè)優(yōu)化的思想和技術(shù)。
它嚴(yán)重影響了直接用戶(hù)體驗(yàn)。每個(gè)人都有非常直觀(guān)的經(jīng)驗(yàn)。如果一個(gè)網(wǎng)頁(yè)半天不能打開(kāi),大多數(shù)人會(huì)選擇直接關(guān)閉它。也許這些數(shù)字更具說(shuō)服力:統(tǒng)計(jì)數(shù)據(jù)顯示,如果頁(yè)面加載時(shí)間不超過(guò)3秒,至少40%的用戶(hù)將白白丟失,因此給出的建議允許用戶(hù)等待時(shí)間不超過(guò)2秒。
搜索引擎爬蟲(chóng)總是試圖模仿人類(lèi)的行為來(lái)提高自己的服務(wù)水平。如果網(wǎng)頁(yè)加載速度慢,會(huì)影響網(wǎng)頁(yè)在SEO上的排名。這一次,簡(jiǎn)單性將影響網(wǎng)頁(yè)的曝光。一個(gè)完整的頁(yè)面加載過(guò)程,包括客戶(hù)端(瀏覽器)發(fā)送請(qǐng)求、網(wǎng)絡(luò)傳輸、服務(wù)器接收請(qǐng)求處理和返回?cái)?shù)據(jù)、通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)、客戶(hù)端接收數(shù)據(jù)和呈現(xiàn)。因此,網(wǎng)頁(yè)的加載速度受網(wǎng)絡(luò)、服務(wù)器性能、客戶(hù)端性能等因素的影響。
因此,提高網(wǎng)頁(yè)的加載速度不僅是后端服務(wù)器的問(wèn)題,也是一個(gè)有前途的前端。在提高網(wǎng)頁(yè)加載質(zhì)量方面,前端應(yīng)從減小代碼大小、優(yōu)化代碼結(jié)構(gòu)、優(yōu)化網(wǎng)絡(luò)請(qǐng)求、異步延遲加載等方面入手。包括HTML、CSS、JS等大小的代碼文件,包括兩個(gè)方面:一是精簡(jiǎn)代碼,提高性能。在保證功能、性能等軟需求的前提下,我們采用了更簡(jiǎn)潔的代碼實(shí)現(xiàn),也就是說(shuō),我們可以用一行代碼代替兩行代碼,包括不必要的HTML標(biāo)簽嵌套、CSS代碼和JS代碼。這就要求對(duì)前端編程有更高的要求。另外,JS局部變量的搜索速度比全局變量快得多,所以我們嘗試在JS中使用局部變量而不是全局變量。

優(yōu)化代碼。在編碼過(guò)程中,為了提高可讀性,必須有許多空格、注釋或其他冗余代碼。使用代碼壓縮工具,我們可以快速刪除逗號(hào)、注釋甚至不必要的空格,這可以顯著減少JavaScript代碼的大小。這些工具包括Google閉包編譯器。不僅可以用工具壓縮JS代碼,而且可以用許多工具壓縮CSS和HTML代碼。
除了優(yōu)化代碼本身之外,在使用第三方庫(kù)時(shí),請(qǐng)記住刪除一些不必要的組件。優(yōu)化圖片資源,圖片本身比文本(代碼)占據(jù)更大的體積,但圖片比千字好,圖片的使用可以大大美化頁(yè)面,所以圖片還是需要使用的,但在保證美觀(guān)的前提下,我們可以?xún)?yōu)化圖片,找到一個(gè)平衡的點(diǎn)。質(zhì)量和速度。第一種是圖像壓縮,它減小了圖像本身的大小。壓縮可以分為有損壓縮和無(wú)損壓縮,每一種壓縮都有其優(yōu)缺點(diǎn)。特定的方法可以通過(guò)專(zhuān)門(mén)的工具或在線(xiàn)壓縮進(jìn)行下載。第二,如果您可以使用CSS樣式替換圖片,那么嘗試使用CSS而不是圖片。隨著CSS3的成熟,可以實(shí)現(xiàn)一些特殊的形狀和效果,但每一個(gè)都測(cè)試CSS的基礎(chǔ)。
當(dāng)使用圖片時(shí),我們可以使用背景來(lái)加載沒(méi)有img標(biāo)簽的圖片,如果不需要,我們可以使用png8而不是gif格式。第四,圖像預(yù)加載和延遲加載技術(shù),如使用縮略圖、默認(rèn)占位符替換圖像,但不影響后續(xù)的頁(yè)面內(nèi)容呈現(xiàn)。第五,在某些情況下,圖像可以轉(zhuǎn)換為base64,這可以減少HTTP請(qǐng)求,但這只適用于一些較小的圖片,如圖標(biāo),否則轉(zhuǎn)換后的字符串將更大,成本更高。頁(yè)面從上到下加載。
首先,在您看到頁(yè)面中的內(nèi)容(body標(biāo)記中的內(nèi)容)之前,將加載該節(jié)中的所有內(nèi)容。JS的加載會(huì)中斷所有其他元素的加載。通常,只有在JS加載完成之后,隨后的CSS和DOM元素才會(huì)繼續(xù)加載。因此,部分使用javascript會(huì)導(dǎo)致頁(yè)面內(nèi)容呈現(xiàn)延遲。有兩種方法可以做到這一點(diǎn)。1如果不需要,將樣式表放在頭部,腳本放在底部。
新聞熱點(diǎn)
疑難解答
圖片精選