window.onload 加载完毕的问题及解决方案(上)
来源:互联网 发布:斑竹网络意思 编辑:程序博客网 时间:2024/05/17 09:24
我们经常使用 window.onload 来处理页面,当页面加载完成做一些事情。但这个 window.onload 是页面全部加载完成,甚至包括图片,而我们实际上经常需要的是文档 DOM 加载完毕!
解决方法,
一、Mozilla 提供了一个非公开的(undocumented)函数:
复制代码代码如下:
// for Mozilla browsers
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", init, false);
}
二、对于 IE 浏览器,可以使用IE特有的 defer 属性:
复制代码代码如下:
<script defer type="text/javascript">
alert("DOM 加载完毕!")
</script>
具有defer属性的脚本块会在DOM 加载完毕后执行。
非IE浏览器会忽略 defer 而直接执行 script 代码,因此,你可以有两种办法来屏蔽非IE浏览器执行这段针对IE的代码:
1.条件注释
复制代码代码如下:
<!--[if IE]>
<script defer type="text/javascript">
alert("DOM 加载完毕!")
</script>
<![endif]-->
2.条件编辑
复制代码代码如下:
<script defer type="text/javascript">
// for Internet Explorer
/*@cc_on @*/
/*@if (@_win32)
alert("DOM 加载完毕!");
/*@end @*/
</script>
三、对于Safari,这里有一个jQuery的解决方案:
复制代码代码如下:
if (/WebKit/i.test(navigator.userAgent)) { // sniff
var _timer = setInterval(function() {
if (/loaded|complete/.test(document.readyState)) {
clearInterval(_timer);
init(); // call the onload handler
}
}, 10);
}
- window.onload加载完毕的问题及解决方案(上)
- window.onload 加载完毕的问题及解决方案(上)
- window.onload加载完毕的问题及解决方案(下)
- window.onload 加载完毕的问题及解决方案(下)
- window.onload 关于页面加载完毕的问题
- window.onload 关于页面加载完毕的问题
- window.onload 关于页面加载完毕的问题
- window.onload()的加载问题
- 关于window.onload加载的多种解决方案
- 关于window.onload加载的多种解决方案
- 关于window.onload()的加载问题
- window.onload()及body.onload()被占用时要实现onload()的一解决方案
- window.onload()的问题
- window.onload的加载时间
- Window.onload重加载会覆盖问题
- 求教window.onload的问题
- window.onload加载多个值
- window.onload加载
- map
- PHP简单分页类
- 解决浏览器兼容性问题
- opencv 实现图像的旋转
- 职业生涯遇到瓶颈----求教高人,拨云见日
- window.onload 加载完毕的问题及解决方案(上)
- POJ 1986 Distance Queries(在线LCA)
- window.onload 加载完毕的问题及解决方案(下)
- GDB 基本知识
- [转]怎样写一个解释器
- uva 11198 - Dancing Digits 隐式图 bfs
- 编译QT时的工程文件pro
- shell脚本备份mysql数据库
- 解决ubuntu 10.04 下svn checkout 失败的问题