精品国产三级a在线观看网站,亚洲综合色成在线观看,亚洲熟妇一区二区三区,,中文字幕成人精品久久不卡 ,永久免费av无码网站国产

網(wǎng)站速度的重要性不言而喻,除了使用常規(guī)的緩存插件方法外,今天想從技術(shù)角度聊聊優(yōu)化網(wǎng)頁(yè)加載速度的問(wèn)題。

提示一下,文章會(huì)涉及到前端代碼等技術(shù)相關(guān)的內(nèi)容,有點(diǎn)晦澀,對(duì)此不感冒的可以直接退出了。

都知道,HTML 代碼中的 <head> 標(biāo)簽區(qū)域內(nèi)通常會(huì)放一堆腳本、樣式,以及 Meta 相關(guān)的內(nèi)容。但是我發(fā)現(xiàn)很多插件,或者說(shuō)比較多的網(wǎng)站站長(zhǎng)并不會(huì)注意這些元素的排列順序。

所以不得不提醒大家的是,錯(cuò)誤的排列順序會(huì)直接影響網(wǎng)站的加載速度和網(wǎng)頁(yè)渲染效率。至于具體的技術(shù)原理,推薦大家看看下面的這個(gè)視頻,我便不展開(kāi)敘述了。

在視頻中,作者有推薦代碼片段的最佳排序順序,我簡(jiǎn)單總結(jié)一下各個(gè)腳本的用處及特點(diǎn),借花獻(xiàn)佛。

首先放置 preconnect 類(lèi)型標(biāo)簽,用于告訴瀏覽器在請(qǐng)求之前預(yù)連接到指定的資源服務(wù)器,這么做有助于減少建立連接的延遲,從而提高頁(yè)面加載性能。

例如字體服務(wù)器、CDN 服務(wù)器或其他托管第三方資源的服務(wù)器。這樣,當(dāng)瀏覽器真正需要請(qǐng)求這些資源時(shí),客戶(hù)端與服務(wù)端已經(jīng)建立好連接,從而減少了鏈接往返的時(shí)間。

接著便是 script-async 標(biāo)簽了,這種標(biāo)簽的主要作用就是指定腳本的異步加載方式。當(dāng)腳本使用?async?屬性時(shí),它將在加載時(shí)不會(huì)阻塞 HTML 解析,并且在加載完成后立即執(zhí)行,而不考慮頁(yè)面中其他內(nèi)容的加載狀態(tài)。

然后是 css-contains-@ import 標(biāo)簽了。在 CSS 中,@import是一種用于導(dǎo)入外部樣式表的規(guī)則。它允許將一個(gè) CSS 文件嵌套在另一個(gè) CSS 文件中,從而可以將多個(gè)樣式文件組織在一起,便于管理和維護(hù)。但是現(xiàn)在這種規(guī)則很少用了,大多是使用 <link> 標(biāo)簽進(jìn)行替代了。

緊接著就是 sync-js 與 sync-css 標(biāo)簽了,作用就是用于控制 JavaScript 腳本或者 CSS 腳本的加載和執(zhí)行方式。

接下來(lái)就是 preload 腳本,其主要的作用就是在頁(yè)面加載時(shí)預(yù)加載資源(如腳本、樣式表、字體等)。它可以在瀏覽器空閑時(shí)提前加載這些資源,以?xún)?yōu)化頁(yè)面性能,提高用戶(hù)體驗(yàn)。

preload 腳本之后的便是 script-defer 腳本了,其實(shí)這是 HTML 中?<script> 標(biāo)簽的一個(gè)屬性,用于控制腳本的延遲加載方式。通過(guò)使用?defer?屬性,可以讓腳本在 HTML 解析完成后再執(zhí)行,而不會(huì)阻塞頁(yè)面的加載。

最后便是 prefetch 與 prerender 相關(guān)的腳本了,這兩個(gè)都是 HTML 中的?<link> 標(biāo)簽的屬性,用于優(yōu)化資源預(yù)加載以提高頁(yè)面性能。它們可以在瀏覽器空閑時(shí)預(yù)先加載資源,以便在未來(lái)需要時(shí)可以立即使用。

對(duì)了,像我們平時(shí)安裝的 Google Analytics 監(jiān)控代碼、SEO 相關(guān)的腳本代碼,是不宜直接放在頁(yè)面頂部的。一般我的做法便是放在最后,等頁(yè)面網(wǎng)頁(yè)加載與頁(yè)面渲染全部做完之后,再來(lái)執(zhí)行監(jiān)控相關(guān)代碼。

但是谷歌等平臺(tái)一般建議,都是讓你直接放在頁(yè)面頂部。所以從這個(gè)角度出發(fā),不要老是聽(tīng)谷歌的建議。

說(shuō)完了各類(lèi)型腳本的排列順序,再來(lái)介紹一款與之相關(guān)的速度測(cè)試與性能優(yōu)化開(kāi)源工具,capo.js。

鏈接:https://github.com/rviscomi/capo.js

工具的基本原理就是上面提及的,計(jì)算并統(tǒng)計(jì)各類(lèi)型腳本的加載時(shí)長(zhǎng),并給出相應(yīng)的優(yōu)化建議。具體的實(shí)操細(xì)節(jié)便不介紹了,需要一點(diǎn)代碼能力,有興趣的可以具體實(shí)踐一下。

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


點(diǎn)贊(3) 打賞

評(píng)論列表 共有 0 條評(píng)論

暫無(wú)評(píng)論

服務(wù)號(hào)

訂閱號(hào)

備注【拉群】

商務(wù)洽談

微信聯(lián)系站長(zhǎng)

發(fā)表
評(píng)論
立即
投稿
返回
頂部