domReady机制探究及DOMContentLoaded研究

本文深入探讨了domReady机制在不同浏览器(尤其是IE7-8和Chrome)中的实现,分析了DOMContentLoaded事件的应用。内容涵盖源码分析、背景知识介绍、结果分析及IE下DOM树监控的其他方法。总结了执行顺序和浏览器差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

domReady机制是很多框架和库都具有的种子模块,使用了在DOM树解析完成后就立即响应,不用等待图片等资源下载完成(onload执行时候表示这些资源完全下载完成)的一种机制,那怎么实现呢。

1)支持DOMContentLoaded事件的,就使用DOMContentLoaded事件;
2)不支持的,就用来自Diego Perini发现的著名Hack兼容。兼容原理大概就是,通过IE中的document.documentElement.doScroll(‘left’)来判断DOM树是否创建完毕或者使用监控script标签的onreadystatechange得到它的readyState属性判断【遗憾的是经过我们的实验,在IE下domReady机制总会在onload后执行】

1. domReady机制在IE7-8下

1.1 domReady机制源码(包括IE/非IE)

demo1.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title> DOMContentLoaded Demo</title>
</head>
<body>
    <div id="div1"></div>
    <script defer='defer' src="deferjs.js"></script>
    <script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>
    <script type="text/javascript" src="demo1.js"></script>
    <script>
    dom.Ready(function() {
    
        console.info("我的domReady1");
    });
    </script>
</body>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值