基于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í),頁(yè)面上所有的DOM,樣式表,腳本,圖片,flash都已經(jīng)加載完成了
根據(jù)執(zhí)行時(shí)DOM是否已經(jīng)裝載完畢來(lái)決定是對(duì)回調(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 ’); })
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. CentOS郵箱服務(wù)器搭建系列——SMTP服務(wù)器的構(gòu)建( Postfix )2. PHP基礎(chǔ)之生成器4——比較生成器和迭代器對(duì)象3. ASP新手必備的基礎(chǔ)知識(shí)4. Docker 啟動(dòng)Redis 并設(shè)置密碼的操作5. asp文件用什么軟件編輯6. 通過(guò)IEAD+Maven快速搭建SSM項(xiàng)目的過(guò)程(Spring + Spring MVC + Mybatis)7. JS中6個(gè)對(duì)象數(shù)組去重的方法8. vue+element開發(fā)一個(gè)谷歌插件的全過(guò)程9. 利用CSS制作3D動(dòng)畫10. Vue axios獲取token臨時(shí)令牌封裝案例

網(wǎng)公網(wǎng)安備