網(wǎng)站速度的重要性不言而喻,除了使用常規(guī)的緩存插件方法外,今天想從技術(shù)角度聊聊優(yōu)化網(wǎng)頁加載速度的問題。
提示一下,文章會涉及到前端代碼等技術(shù)相關(guān)的內(nèi)容,有點晦澀,對此不感冒的可以直接退出了。
都知道,HTML 代碼中的 <head> 標(biāo)簽區(qū)域內(nèi)通常會放一堆腳本、樣式,以及 Meta 相關(guān)的內(nèi)容。但是我發(fā)現(xiàn)很多插件,或者說比較多的網(wǎng)站站長并不會注意這些元素的排列順序。
所以不得不提醒大家的是,錯誤的排列順序會直接影響網(wǎng)站的加載速度和網(wǎng)頁渲染效率。至于具體的技術(shù)原理,推薦大家看看下面的這個視頻,我便不展開敘述了。

在視頻中,作者有推薦代碼片段的最佳排序順序,我簡單總結(jié)一下各個腳本的用處及特點,借花獻佛。
首先放置 preconnect 類型標(biāo)簽,用于告訴瀏覽器在請求之前預(yù)連接到指定的資源服務(wù)器,這么做有助于減少建立連接的延遲,從而提高頁面加載性能。
例如字體服務(wù)器、CDN 服務(wù)器或其他托管第三方資源的服務(wù)器。這樣,當(dāng)瀏覽器真正需要請求這些資源時,客戶端與服務(wù)端已經(jīng)建立好連接,從而減少了鏈接往返的時間。
接著便是 script-async 標(biāo)簽了,這種標(biāo)簽的主要作用就是指定腳本的異步加載方式。當(dāng)腳本使用?async?屬性時,它將在加載時不會阻塞 HTML 解析,并且在加載完成后立即執(zhí)行,而不考慮頁面中其他內(nèi)容的加載狀態(tài)。
然后是 css-contains-@ import 標(biāo)簽了。在 CSS 中,@import是一種用于導(dǎo)入外部樣式表的規(guī)則。它允許將一個 CSS 文件嵌套在另一個 CSS 文件中,從而可以將多個樣式文件組織在一起,便于管理和維護。但是現(xiàn)在這種規(guī)則很少用了,大多是使用 <link> 標(biāo)簽進行替代了。
緊接著就是 sync-js 與 sync-css 標(biāo)簽了,作用就是用于控制 JavaScript 腳本或者 CSS 腳本的加載和執(zhí)行方式。
接下來就是 preload 腳本,其主要的作用就是在頁面加載時預(yù)加載資源(如腳本、樣式表、字體等)。它可以在瀏覽器空閑時提前加載這些資源,以優(yōu)化頁面性能,提高用戶體驗。
preload 腳本之后的便是 script-defer 腳本了,其實這是 HTML 中?<script> 標(biāo)簽的一個屬性,用于控制腳本的延遲加載方式。通過使用?defer?屬性,可以讓腳本在 HTML 解析完成后再執(zhí)行,而不會阻塞頁面的加載。
最后便是 prefetch 與 prerender 相關(guān)的腳本了,這兩個都是 HTML 中的?<link> 標(biāo)簽的屬性,用于優(yōu)化資源預(yù)加載以提高頁面性能。它們可以在瀏覽器空閑時預(yù)先加載資源,以便在未來需要時可以立即使用。
對了,像我們平時安裝的 Google Analytics 監(jiān)控代碼、SEO 相關(guān)的腳本代碼,是不宜直接放在頁面頂部的。一般我的做法便是放在最后,等頁面網(wǎng)頁加載與頁面渲染全部做完之后,再來執(zhí)行監(jiān)控相關(guān)代碼。
但是谷歌等平臺一般建議,都是讓你直接放在頁面頂部。所以從這個角度出發(fā),不要老是聽谷歌的建議。

說完了各類型腳本的排列順序,再來介紹一款與之相關(guān)的速度測試與性能優(yōu)化開源工具,capo.js。
鏈接:https://github.com/rviscomi/capo.js
工具的基本原理就是上面提及的,計算并統(tǒng)計各類型腳本的加載時長,并給出相應(yīng)的優(yōu)化建議。具體的實操細節(jié)便不介紹了,需要一點代碼能力,有興趣的可以具體實踐一下。

好消息是,這款工具的發(fā)布者最近開發(fā)了一款瀏覽器插件,但實際使用過后,給我的感覺并不是很好用。如果有會代碼的朋友不妨從這個點切入,去做個相關(guān)產(chǎn)品出來,不失為一個生財點。

文章為作者獨立觀點,不代表DLZ123立場。如有侵權(quán),請聯(lián)系我們。( 版權(quán)為作者所有,如需轉(zhuǎn)載,請聯(lián)系作者 )
網(wǎng)站運營至今,離不開小伙伴們的支持。 為了給小伙伴們提供一個互相交流的平臺和資源的對接,特地開通了獨立站交流群。
群里有不少運營大神,不時會分享一些運營技巧,更有一些資源收藏愛好者不時分享一些優(yōu)質(zhì)的學(xué)習(xí)資料。
現(xiàn)在可以掃碼進群,備注【加群】。 ( 群完全免費,不廣告不賣課!)
