window.onload 加载完毕的问题及解决方案(上)


Posted in Javascript onJuly 09, 2009

解决方法,
一、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); 
}
Javascript 相关文章推荐
JQuery操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 Javascript
jQuery.clean使用方法及思路分析
Jan 07 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
jQuery四种选择器使用及示例
Jun 05 Javascript
AngularJS基础 ng-readonly 指令简单示例
Aug 02 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
使用react-router4.0实现重定向和404功能的方法
Aug 28 Javascript
扫微信小程序码实现网站登陆实现解析
Aug 20 Javascript
最简单的jQuery程序 入门者学习
Jul 09 #Javascript
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 #Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jul 09 #Javascript
JavaScript 继承的实现
Jul 09 #Javascript
jquery text,radio,checkbox,select操作实现代码
Jul 09 #Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
Jul 09 #Javascript
jQuery 1.3 和 Validation 验证插件1.5.1
Jul 09 #Javascript
You might like
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
validator验证控件使用代码
2010/11/23 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
node和vue实现商城用户地址模块
2018/12/05 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Mac 上切换Python多版本
2017/06/17 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
关于Python Tkinter Button控件command传参问题的解决方式
2020/03/04 Python
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
自我鉴定思想方面
2013/10/07 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
驾驶员岗位职责
2014/01/29 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
捐书倡议书
2014/08/29 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
2015年行政部工作总结
2015/04/28 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
工作建议书范文
2019/07/08 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
浅谈Web Storage API的使用
2021/06/23 Javascript
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python