IE里模拟DOMContentLoaded事件
作者:Rank 来源:never-online weblog 时间:2008-08-05 17:12:00
也许还有朋友不太清楚DOMContentLoaded这个事件。简单的说,这个事件就是要在大多数情况下去替代window.onload事件,因为window.onload事件必须要等待页面所有元素的资源都下载完毕时才触发。
这个事件实际是上w3c推荐的标准事件,这个事件是在DOM树建成的时候触发,因此要比onload事件快很多。ff, opera高版本已经支持了该事件。而IE在IE8里依然没有想加这个事件的意思,为了实现IE与w3c的兼容,我们是有必要为IE做一件“好事”的。
一般是两种方法。
一种是创建空script标签,属性拥有defer,然后待onreadystatechange为complete时激发DOMContentLoaded
一种是通过调用doScroll('left')的原理去判断DOMContentLoaded
第一种方法
看上去应该没有什么问题了。但实际在使用当中还是遇到不少的问题,主要是协议,还有iframe。https协议需要单独判断。
iframe的问题在Jerry使用的时候发现比较大的问题,比如
它会在iframe加载完毕的时候才触发事件,显然不是我们所需要的。
也因为如此,我们现在很流行第二种方案:用doScroll方法。这主要是利用doScroll是是DOM树形成之后才可以操作。
以前听同事提过在YUI里有两种ready事件,一种是DOMContentLoaded,一种是ElementReady。还没有详细的去看代码,有兴趣的朋友也可看一下。
标签:DOM,ie,事件,javascript
0
投稿
猜你喜欢
Django restful framework生成API文档过程详解
2021-08-10 16:37:16
oracle命令行删除与创建用户的代码
2009-03-02 10:54:00
python监控nginx端口和进程状态
2023-08-25 16:15:13
Go 实现热重启的详细介绍
2024-04-25 15:06:15
vue车牌搜索组件使用方法详解
2024-04-30 10:30:37
Python利用QQ邮箱发送邮件的实现方法(分享)
2023-01-06 23:23:25
Python实现绘制3D地球旋转效果
2021-04-17 22:25:37
Python入门学习指南分享
2023-09-02 15:02:21
对python .txt文件读取及数据处理方法总结
2022-08-04 02:36:07
解决python Jupyter不能导入外部包问题
2021-02-02 06:19:03
如何在CocosCreator中做一个List
2024-04-28 09:46:04
SQL Server中的排名函数与分析函数详解
2024-01-17 03:28:54
我要如何了解用户的需求
2007-08-26 17:19:00
mysql并发控制原理知识点
2024-01-24 15:21:46
EF(EntityFramework) 插入或更新数据报错的解决方法
2024-01-20 19:21:42
Python安装Flask环境及简单应用示例
2021-09-19 10:07:24
ORACLE 正则解决初使化数据格式不一致
2009-05-24 19:44:00
GO语言异常处理机制panic和recover分析
2024-02-18 01:58:36
基于vue实现微博三方登录流程解析
2024-05-03 15:08:42
Python利用matplotlib绘制折线图的新手教程
2021-08-18 18:00:01