判斷頁面加載完成這個方法是很常見的,下面有三個常用的方法,各有利弊。
一、純js方法
// (1)、頁面所有內容加載完成執行
window.onload = function(){
}
// (2)、ie9以上版本監聽事件
if('addEventListener' in document){
document.addEventListener('DOMContentLoaded', function(){
}, false)//false代表在冒泡階段觸發,true在捕獲階段觸發
}
// (3)、頁面加載完畢
document.onreadystatechange = function(){
if(doucument.readyState == 'complete'){
// 頁面加載完畢
}
}
注:js方法沒有依賴方法簡單,但方法(2)存在兼容性問題。
二、jquery方法
$(function(){
})
$(document).ready(function(){
// document 不寫默認document
})
注:jquery方法兼容性好,並且實在dom資源加載完畢的情況下執行,(不包括圖片視頻資源)
三、vue中
vue的生命周期,mounted加載完畢執行
mounted () {
this.$nextTick(() => {
// 確保dom異步加載完畢
})
}
作用:
1、在頁面加載完成之前添加加載動畫,提高交互體驗
2、在頁面加載完成后調用js,防止報錯,用戶白屏等待事件