基于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. .Net Core和RabbitMQ限制循環(huán)消費的方法2. jsp網(wǎng)頁實現(xiàn)貪吃蛇小游戲3. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明4. ASP.NET MVC遍歷驗證ModelState的錯誤信息5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. asp中response.write("中文")或者js中文亂碼問題8. PHP設(shè)計模式中工廠模式深入詳解9. CSS hack用法案例詳解10. 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實現(xiàn)方法
