JavaScript 載入方式 defer、async

JavaScript 載入方式 defer、async
JavaScript 載入方式 defer、async

這是很久以前的筆記,這次來整理並更新,主要是筆記載入 JavaScript 時,deferasync 這兩個標籤的不同。


defer

<script defer src="javascript.js"></script>

瀏覽器對 DOM 的繪製不會停下,javascript.js 在背景下載,待 DOM 繪製完才執行 javascript.js。

要注意,defer 執行的時間會在 DOMContentLoaded 之前,所以 defer 的檔案如果太大,會阻塞 DOMContentLoaded 被觸發。


async

<script async src="javascript.js"></script>

瀏覽器對 DOM 的繪製不會停下,javascript.js 在背景下載。

待 javascript.js 下載完畢,DOM 繪製停下,執行 javascript.js 。

待 javascript.js 執行完畢,DOM 才接著往下繪製。


defer、async 都不寫

瀏覽器是一行一行讀下去的,deferasync 都不寫的話,就是 DOM 繪製到引用 JavaScript 的那一行時,就停下來,先解讀完這行引用的 JS,再執行完,然後 DOM 才接著往下繪製。

Summary
JavaScript 載入方式 defer, async
Article Name
JavaScript 載入方式 defer, async
Description
本篇大綱:defer、async、都不寫。這是很久以前的筆記,這次來整理並更新,主要是筆記載入 JavaScript 時,defer、async 這兩個標籤的不同。
August
Let's Write
Let's Write
https://letswritetw.github.io/letswritetw/dist/img/logo_512.png
訂閱
通知
guest

0 Comments
最舊
最新
Inline Feedbacks
看所有留言