基于javascript原生判断DOM是否加载完毕


Posted in Javascript onOctober 14, 2020

readyState

document.readyState 返回当前文档的状态,属性如下:

  • uninitialized 还未开始加载
  • loading 加载中
  • interactive 已加载,文档与用户可以开始交互
  • complete 加载完成

DOMContentLoaded

当 DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash

onload

当 onload 事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了

根据执行时DOM是否已经装载完毕来决定是对回调函数进行同步调用还是异步调用。具体代码如下:

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 ');
 })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通用JS事件写法实现代码
Jan 07 Javascript
jquery 使用简明教程
Mar 05 Javascript
使用jquery实现以post打开新窗口
Mar 19 Javascript
浅析webapp框架AngularUI的demo
Dec 21 Javascript
浅析Bootstrap表格的使用
Jun 23 Javascript
详解jQuery lazyload 懒加载
Dec 19 Javascript
ES6数组的扩展详解
Apr 25 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
Jul 11 Javascript
JavaScript实现音乐自动切换和轮播
Nov 05 Javascript
VueCli3构建TS项目的方法步骤
Nov 07 Javascript
JavaScript setInterval()与setTimeout()计时器
Dec 27 Javascript
在Angular项目使用socket.io实现通信的方法
Jan 05 Javascript
JavaScript常用进制转换及位运算实例解析
Oct 14 #Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 14 #Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 #Javascript
原生JS实现相邻月份日历
Oct 13 #Javascript
jquery简易手风琴插件的封装
Oct 13 #jQuery
原生js实现照片墙效果
Oct 13 #Javascript
js轮播图之旋转木马效果
Oct 13 #Javascript
You might like
Terran建筑一览
2020/03/14 星际争霸
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
nginx 设置多个站跨域
2021/03/09 Servers
IE8 中使用加速器(Activities)
2010/05/14 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
Python subprocess模块学习总结
2014/03/13 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python字符串详细介绍
2015/05/09 Python
python避免死锁方法实例分析
2015/06/04 Python
Django后台admin的使用详解
2019/07/08 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
入党申请人的自我鉴定
2013/12/01 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
教师群众路线心得体会
2014/11/04 职场文书
公司员工体检通知
2015/04/21 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
个人催款函范文
2015/06/24 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
python中的sys模块和os模块
2022/03/20 Python