如何控制Web資源加載的優(yōu)先級?
今天我們一起來看一下 Web 資源加載優(yōu)先級的問題。
瀏覽器解析資源的優(yōu)先級
當瀏覽器開始解析網(wǎng)頁,并開始下載圖片、Script 以及 CSS 等資源的時候,瀏覽器會為每個資源分配一個代表資源下載優(yōu)先級的 fetch priority 標志。
而資源下載的順序就取決于這個優(yōu)先級標志,這個優(yōu)先級標志的計算邏輯會受很多因素的影響:
Script、CSS、Font、Image等不同的資源類型會有不同的優(yōu)先級。在 HTML文檔中引用資源的位置或順序也會影響資源的優(yōu)先級(例如在viewport中的圖片資源可能具有高優(yōu)先級,而在標簽中加載的,阻塞渲染的CSS則擁有更高的優(yōu)先級)。有 preload屬性的資源有助于瀏覽器更快地發(fā)現(xiàn)資源、其實也是影響資源加載的優(yōu)先級。Script的async或defer屬性都會影響它的優(yōu)先級。
綜合考慮這些因素,下面是現(xiàn)在大多數(shù)的資源在 Chrome 中的優(yōu)先級和排序方式:

瀏覽器按照資源被發(fā)現(xiàn)的順序下載具有相同計算優(yōu)先級的資源。你可以在 DevTools Network 下看到分配給不同資源的優(yōu)先級:

盡管瀏覽器很擅長這件事情,但是并不是所有情況下默認的下載優(yōu)先級都是最佳的。
為什么你需要 Priority Hints ??
知道了瀏覽器為資源分配下載優(yōu)先級的方式,我們就可以根據(jù)實際的業(yè)務(wù)場景去適當做一些調(diào)整:
根據(jù)期望的資源的下載順序放置資源標簽,例如 黄色电影在线观看国内免费 | av婷婷免费 | 色逼视频国产 | 亚洲丁香花在线 | 免费无码乱伦 |
