在 Web 開發領域,最佳化頁面載入時間至關重要。 <script> 的兩個強大屬性:標籤 – 非同步和延遲 – 可以顯著影響您網站的效能。在沒有徹底理解這些屬性的情況下使用它們可能會影響效能並導致錯誤。讓我們從基礎開始,了解這些屬性的作用以及何時使用它們。 </script>
預設情況下,當瀏覽器遇到 <script> 時,標籤,它:</script>
此過程會減慢頁面渲染速度,尤其是對於大型腳本或緩慢的連接。此外,如果腳本在某些 HTML 元素完全載入之前執行,則可能會導致錯誤,如果腳本未正確放置在文件中,這種情況通常會發生。
<script async src="script.js"></script>
<script defer src="script.js"></script>
Attribute | Download | Execution | HTML Parsing | Main Risk |
---|---|---|---|---|
None | Blocks | Immediate | Paused | Slow Initial Render |
Async | Parallel | ASAP | Paused when downloaded | Race Conditions |
Defer | Parallel | After HTML | Continues | Delayed Functionality |
了解具有不同屬性的腳本的執行順序對於管理依賴關係和確保正確的功能至關重要。其工作原理如下:
常規腳本(無非同步或延遲):
非同步腳本:
延後腳本:
同時具有非同步和延遲的腳本:
<script src="1.js"></script> <script async src="2.js"></script> <script async src="3.js"></script> <script defer src="4.js"></script> <script defer src="5.js"></script>
可能的執行順序:
請注意,如果 1.js 下載時間較長,2 和 3 可以按任何順序執行,甚至可以在 1 之前執行。
現代瀏覽器廣泛支援非同步和延遲。對於較舊的瀏覽器,請考慮使用腳本載入器或將腳本放置在
的末端。以上是掌握腳本標籤:使用 Async 和 Defer 進行精確的腳本控制的詳細內容。更多資訊請關注PHP中文網其他相關文章!