- #111
- #110
- #109
- #108
最佳化網頁資產載入 (preload, prefetch, dns-prefetch, preconnect)
先前面試時被問到早期製作的一個 SPA 網站在換頁後圖片載入體驗不太好的問題,當時把腦袋能想的所有答案都提出來了 😅,最終有答到一點,但太少用所以回答的不是很確定,當時回答:
- 圖片應設定寬高以避免 CLS (累積布局偏移)
- 圖片可以添加 Skeleton 或 Loader 示意加載中
- 首先顯示較小的圖,適當時機再替換實際大張的圖
- 圖片可以使用
fetchpriority
安排資源載入優先程度 - 圖片內嵌使用 inline SVG 或 data URI
- 使用 Preload 預先加載關鍵圖片……?
所以重新翻了一下相關文件,了解瀏覽器如何透過以下方法來最佳化資源的加載:
- preload
- prefetch
- dns-prefetch
- preconnect
延伸閱讀:
- 使用 preload、prefetch、dns-prefetch、preconnect 最佳化資源載入順序!
- 圖片是效能的重災區,先前寫過圖片的效能最佳化研究也可以看看:所有最佳化網頁圖片的技巧都寫在這了!
- #107
- #106
- #105
- #104
- #103
- #102
- #101
- #100
- #99
- #98
- #97
- #96
- #95
- #94
- #93
- #92
- #91
- #90
- #89
- #88
- #87
- #86
- #85
- #84
- #83
- #82
- #81
- #80
- #79
- #78
- #77
- #76
- #75
- #74
- #73
- #72
- #71
- #70
- #69
- #68
- #67
- #66
- #65
- #64
- #63
- #62
- #61
- #60
- #59
- #58
- #57
- #56
- #55
- #54
- #53
- #52
- #51
- #50
- #49
- #48
- #47
- #46
- #45
- #44
- #43
- #42
- #41
- #40
- #39
- #38
- #37
- #36
- #35
- #34
- #33
- #32
- #31
- #30
- #29
- #28
- #27
- #26
- #25
- #24
- #23
- #22
- #21
- #20
- #19
- #18
- #17
- #16
- #15
- #14
- #13
- #12
- #11
- #10
- #9
- #8
- #7
- #6
- #5
- #4
- #3
- #2
- #1