非同步載入指令碼

2021-09-14 03:52:05 字數 514 閱讀 1098

defer屬性和async屬性提供了非同步載入指令碼的方法。使用如下

defer在domcontentloaded事件發生前執行,async指令碼可能在domcontentloaded事件前執行,也有可能在之後執行,但是肯定在loaded事件前執行。

注意:由於不同的瀏覽器實現,defer事件也不一定會在domcontentloaded事件前執行
瀏覽器建立document物件,開始解析文件,document.readystate=loading

當文件完成解析,document.readystate=interactive

defer指令碼按順序執行

在document物件上觸發domcontentloaded事件,可能還存在非同步指令碼未執行完。

當文件完成解析、指令碼載入並執行完畢,可能還有些資源未載入,比如之類的。等所有資源到位後,document.readystate=complete,並在window物件上觸發load事件。

同步載入 非同步載入 延遲載入

一 同步載入 平常預設用的都是同步載入。如 同步模式又稱阻塞模式,會阻止瀏覽器的後續處理,停止了後續的檔案的解析,執行,如影象的渲染。流覽器之所以會採用同步模式,是因為載入的js檔案中有對dom的操作,重定向,輸出document等預設行為,所以同步才是最安全的。通常會把要載入的js放到body結束...

資料非同步載入

非同步載入是ado的一種資料載入方式,主要由記錄集的options引數來控制!ado210.chm中的格式 recordset.open source,activeconnection,cursortype,locktype,options options 可選。long 值,指示提供者計算 sou...

CursorLoader非同步載入

用 cursorloader載入資料庫 需要資料庫提供的uri 可以實現動態載入隨著資料庫改變自動更新ui 步驟 public class mainactivity extends activity suppresslint newapi private loadermanager.loaderca...