码迷,mamicode.com
首页 > 其他好文 > 详细

页面加载顺序及触发的事件

时间:2019-07-16 09:00:12      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:javascrip   文档   处理   active   let   开始   content   式表   func   

页面加载大致的几个步骤

1.开始解析HTML文档结构。

2.加载外部样式表及JavaScript脚本。

3.解析执行JavaScript脚本。

4.DOM树渲染完成。

5.加载未完成的资源(如图片)。

6.页面加载成功。

页面加载触发的事件

1.document的readystatechange事件

简单例子:

document.onreadystatechange = function() { // 文档加载状态改变事件处理
    if (document.readyState === "loading") { // document加载中
        console.log(document.readyState);
    }
    if (document.readyState === "interactive") { // 互动文档加载完成,文档解析完成,但是如图像,样式表和框架等子资源仍在加载中
        console.log(document.readyState);
    }
    if (document.readyState === "complete") { // 文档和所有子资源加载完成,load事件即将被触发
        console.log(document.readyState);
    }
}

readyState属性描述了文档的加载状态,整个加载过程中document.readyState会不断变化,每次变化都触发readystatechange事件。

也可以用事件监听器去绑定:

document.addEventListener("readystatechange", function() {
    console.log(document.readyState);
});

2.document的DOMContentLoaded事件

DOM树渲染完成时候触发DOMContentLoaded事件,此时可能外部资源还在加载。jQuery中的ready事件就是实现的这个事件。

3.window的load事件

当所有的资源全部加载完成后就会触发window的load事件。

 

"三千年前的月亮,是否和今夜一样呢。"

页面加载顺序及触发的事件

标签:javascrip   文档   处理   active   let   开始   content   式表   func   

原文地址:https://www.cnblogs.com/yanggb/p/9154779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!