專案中引入三支公用 JavaScript 檔案(分別 120KB、290KB、480KB),首次載入頁面時介面無法完整顯示,使用者體驗極差。這是典型的「阻塞式載入」導致的渲染延遲。
將 <script> 標籤移至 </body> 之前,避免阻塞 HTML 解析與 DOM 建構,讓使用者優先看到頁面骨架。
max-age=31536000, immutable),二次造訪無需重複下載。將靜態資源部署至 CDN,利用邊緣節點就近分發,降低延遲並分擔源站頻寬。
<script src="vendor.js" defer></script>
<script src="app.js" async></script>
defer:HTML 解析完成後、DOMContentLoaded 前依序執行,適合有相依關係的庫。async:下載完成即執行,順序不固定,適合獨立模組(如分析追蹤碼)。<script> 已移至 </body> 前。Content-Encoding 標頭。「腳本後置、壓縮快取、合併分割、CDN 加速、非同步載入」五大策略組合拳,能徹底解決 JSP 頁面因多支 JS 導致的首屏白屏與載入緩慢問題。