基于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 相关文章推荐
javascript 动态生成私有变量访问器
Dec 06 Javascript
Javascript跨域请求的4种解决方式
Mar 17 Javascript
js 对小数加法精度处理示例说明
Dec 27 Javascript
node.js中的querystring.unescape方法使用说明
Dec 10 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
May 03 Javascript
Bootstrap登陆注册页面开发教程
Jul 12 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
Aug 06 Javascript
详解axios在node.js中的post使用
Apr 27 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
Feb 04 Javascript
简单了解JS打开url的方法
Feb 21 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
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
解析数组非数字键名引号的必要性
2013/08/09 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
python中添加模块导入路径的方法
2021/02/03 Python
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
办公文员的工作岗位职责
2013/11/12 职场文书
政法大学毕业生自荐信范文
2014/01/01 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
丽江古城导游词
2015/02/03 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
mysql优化
2021/04/06 MySQL
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers