頁(yè)面加載速度直接影響到用戶體驗(yàn),特別是對(duì)于新用戶,這種影響非常明顯。然而,網(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)重影響了直接用戶體驗(yàn)。每個(gè)人都有非常直觀的經(jīng)驗(yàn)。如果一個(gè)網(wǎng)頁(yè)長(zhǎng)時(shí)間無(wú)法打開(kāi),大多數(shù)人會(huì)選擇直接關(guān)閉它。也許這些數(shù)字更有說(shuō)服力:統(tǒng)計(jì)數(shù)據(jù)顯示,如果頁(yè)面加載時(shí)間不超過(guò)3秒,至少40%的用戶將白白丟失,因此建議允許用戶等待時(shí)間不超過(guò)2秒。
搜索引擎爬蟲(chóng)總是試圖模仿人類(lèi)的行為來(lái)提高服務(wù)水平。如果網(wǎng)頁(yè)加載速度慢,會(huì)影響網(wǎng)頁(yè)SEO排名。這一次,簡(jiǎn)單性會(huì)影響網(wǎng)頁(yè)的曝光。完整的頁(yè)面加載過(guò)程包括客戶端(瀏覽器)發(fā)送請(qǐng)求、網(wǎng)絡(luò)傳輸、服務(wù)器接收請(qǐng)求處理和返回?cái)?shù)據(jù)、通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)、客戶端接收數(shù)據(jù)和呈現(xiàn)。因此,網(wǎng)頁(yè)的加載速度受到網(wǎng)絡(luò)、服務(wù)器性能、客戶端性能等因素的影響。
因此,提高網(wǎng)頁(yè)的加載速度不僅是后端服務(wù)器的問(wèn)題,也是一個(gè)有前途的前端。在提高網(wǎng)頁(yè)加載質(zhì)量方面,前端應(yīng)從減少代碼大小、優(yōu)化代碼結(jié)構(gòu)、優(yōu)化網(wǎng)絡(luò)要求、異步延遲加載等方面入手。HTML、CSS、JS等大小的代碼文件包括兩個(gè)方面:一是簡(jiǎn)化代碼,提高性能。在保證軟需求的前提下,如功能和性能,我們使用更簡(jiǎn)單的代碼來(lái)實(shí)現(xiàn),也就是說(shuō),我們可以用一行代碼代替兩行代碼,包括不必要的代碼HTML標(biāo)簽嵌套、CSS代碼和JS代碼。這就要求對(duì)前端編程有更高的要求。JS局部變量的搜索速度比全局變量快得多,所以我們正在嘗試JS使用局部變量而不是全局變量。
優(yōu)化代碼。在編碼過(guò)程中,必須有許多空間、注釋或其他冗余代碼,以提高可讀性。使用代碼壓縮工具,我們可以快速刪除逗號(hào)、注釋甚至不必要的空間,這可以顯著減少JavaScript代碼的大小。這些工具包括Google封閉式編譯器。不僅可以用工具壓縮JS代碼可以用很多工具壓縮CSS和HTML代碼。
除了優(yōu)化代碼本身外,請(qǐng)記住在使用第三方庫(kù)時(shí)刪除一些不必要的組件。優(yōu)化圖片資源,圖片本身占據(jù)比文本(代碼)更大的體積,但圖片優(yōu)于數(shù)千字,圖片的使用可以大大美化頁(yè)面,所以圖片仍然需要使用,但在確保美麗的前提下,我們可以優(yōu)化圖片,找到一個(gè)平衡點(diǎn)。質(zhì)量和速度。一種是圖像壓縮,它減少了圖像本身的大小。壓縮可分為損壞壓縮和無(wú)損壓縮,每種壓縮都有其優(yōu)缺點(diǎn)。特定的方法可以通過(guò)特殊的工具或在線壓縮下載。第二,如果你能使用它CSS樣式替換圖片,試著用CSS而不是圖片CSS3.成熟可以達(dá)到一些特殊的形狀和效果,但每一個(gè)都可以測(cè)試CSS的基礎(chǔ)。
使用圖片時(shí),我們可以使用背景加載而不加載img如果沒(méi)有,我們可以使用標(biāo)簽圖片png8而不是gif格式。第四,圖像預(yù)加載和延遲加載技術(shù),如使用縮略圖和默認(rèn)占位符替換圖像,但不影響后續(xù)頁(yè)面內(nèi)容的呈現(xiàn)。第五,在某些情況下,圖像可以轉(zhuǎn)換為base這可以減少HTTP請(qǐng)求,但這只適用于一些較小的圖片,如圖標(biāo),否則轉(zhuǎn)換后的字符串會(huì)更大、更昂貴。頁(yè)面從上到下加載。
首先,當(dāng)你在頁(yè)面上看到內(nèi)容時(shí)(body在標(biāo)記中的內(nèi)容)之前,本節(jié)將加載所有內(nèi)容。JS所有其他元素的加載都會(huì)中斷。通常,只有在JS加載完成后,后續(xù)CSS和DOM元素將繼續(xù)加載。因此,部分使用javascript會(huì)導(dǎo)致頁(yè)面內(nèi)容延遲。有兩種方法可以做到這一點(diǎn)。1如果不需要,將樣式表放在頭部,腳本放在底部。