基于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 相关文章推荐
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
Apr 27 Javascript
js下通过getList函数实现分页效果的代码
Sep 17 Javascript
window.ActiveXObject使用说明
Nov 08 Javascript
浏览器复制插件zeroclipboard使用指南
Mar 26 Javascript
Bootstrap每天必学之折叠
Apr 12 Javascript
js编写当天简单日历效果【实现代码】
May 03 Javascript
jQuery旋转插件jqueryrotate用法详解
Oct 13 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
Oct 24 jQuery
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
vue中添加mp3音频文件的方法
Mar 02 Javascript
vue实现多个元素或多个组件之间动画效果
Sep 25 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 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
咖啡常见的种类
2021/03/03 新手入门
用php写的serv-u的web申请账号的程序
2006/10/09 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
python对数组进行反转的方法
2015/05/20 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
pytorch标签转onehot形式实例
2020/01/02 Python
常用的10个Python实用小技巧
2020/08/10 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
小学红领巾中秋节广播稿
2014/01/13 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
导游词开场白
2015/01/31 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS