基于javascript原生判斷DOM是否加載完畢
readyState
document.readyState 返回當(dāng)前文檔的狀態(tài),屬性如下:
uninitialized 還未開始加載 loading 加載中 interactive 已加載,文檔與用戶可以開始交互 complete 加載完成DOMContentLoaded
當(dāng) DOMContentLoaded事件觸發(fā)時,僅當(dāng)DOM加載完成,不包括樣式表,圖片,flash
onload
當(dāng) onload 事件觸發(fā)時,頁面上所有的DOM,樣式表,腳本,圖片,flash都已經(jīng)加載完成了
根據(jù)執(zhí)行時DOM是否已經(jīng)裝載完畢來決定是對回調(diào)函數(shù)進行同步調(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. SpringBoot使用Captcha生成驗證碼2. android studio實現(xiàn)簡單的計算器(無bug)3. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis4. Python 忽略文件名編碼的方法5. android 控件同時監(jiān)聽單擊和雙擊實例6. Java Media Framework 基礎(chǔ)教程7. springboot項目整合druid數(shù)據(jù)庫連接池的實現(xiàn)8. 解決vue頁面刷新,數(shù)據(jù)丟失的問題9. python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作10. python logging.info在終端沒輸出的解決
