defer和async 屬性


1. defer

  立即下載,延遲執行。

  HTML5 規范要求腳本按照他們出現的順序執行,因此第一個延遲腳本會先於第二個延遲腳本執行,而這兩個腳本會優先於 DOMContentLoaded 事件觸發前執行;

  在現實當中,延遲腳本並不一定會按照順序執行,也不一定在 DOMCotentLoaded 事件出發前執行,一次最好只包含一個延遲腳本;

  使用范圍: 

    只適用於外部腳本文件;HTML5 已經規定,因此支持HTML5的實現會忽略給嵌入腳本設置的defer屬性

  PS: 在XHTML文檔中,要把defer屬性設置為 defer="defer"

 

2. async

  立即下載,異步執行,異步加載頁面其他內容
  亂序執行,不能保證執行順序,所以要確保腳本文件不相互依賴;建議異步腳本不要在加載期間修改 DOM

  異步腳本一定會在load事件之前執行,但可能會在 DOMContentLoaded 事件觸發之前或者之后執行。

  使用范圍: 

    只適用於外部腳本文件;HTML5 已經規定,因此支持HTML5的實現會忽略給嵌入腳本設置的defer屬性

  PS: 在XHTML文檔中,要把defer屬性設置為 defer="defer"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM