基于javascript原生判斷DOM是否加載完畢
readyState
document.readyState 返回當(dāng)前文檔的狀態(tài),屬性如下:
uninitialized 還未開始加載 loading 加載中 interactive 已加載,文檔與用戶可以開始交互 complete 加載完成DOMContentLoaded
當(dāng) DOMContentLoaded事件觸發(fā)時(shí),僅當(dāng)DOM加載完成,不包括樣式表,圖片,flash
onload
當(dāng) onload 事件觸發(fā)時(shí),頁面上所有的DOM,樣式表,腳本,圖片,flash都已經(jīng)加載完成了
根據(jù)執(zhí)行時(shí)DOM是否已經(jīng)裝載完畢來決定是對回調(diào)函數(shù)進(jìn)行同步調(diào)用還是異步調(diào)用。具體代碼如下:
function onReady(fn){ var readyState = document.readyState; if(readyState === ’interactive’ || readyState === ’complete’) { fn() }else{ window.addEventListener('DOMContentLoaded',fn); }}onReady(function(){ console.log(’DOM fully loaded and parsed ’); })
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python如何實(shí)現(xiàn)感知器的邏輯電路2. JS實(shí)現(xiàn)表單中點(diǎn)擊小眼睛顯示隱藏密碼框中的密碼3. JS錯(cuò)誤處理與調(diào)試操作實(shí)例分析4. asp讀取xml文件和記數(shù)5. python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進(jìn)行簡單處理和分析6. 原生js實(shí)現(xiàn)的觀察者和訂閱者模式簡單示例7. Python ellipsis 的用法詳解8. 在終端啟動(dòng)Python時(shí)報(bào)錯(cuò)的解決方案9. vue 驗(yàn)證兩次輸入的密碼是否一致的方法示例10. xml中的空格之完全解說
