1. 程式人生 > >script標籤中async,defer兩個屬性的區別

script標籤中async,defer兩個屬性的區別

1、相同點  

(1)、載入檔案時不阻塞頁面渲染;


(2)、對於inline的script無效;


(3)、使用這兩個屬性的指令碼中不能呼叫document.write方法;


(4)、有指令碼的onload的事件回撥;


(5)、允許不定義屬性值,僅僅使用屬性名;

2、不同點


(1)、每一個async屬性的指令碼都在它下載結束之後立刻執行,同時會在window的load事件之前執行。所以就有可能出現指令碼執行順序被打亂的情況;

(2)、每一個defer屬性的指令碼都是在頁面解析完畢之後,按照原本的順序執行,同時會在document的DOMContentLoaded之前執行。