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 相关文章推荐
javascript 日历提醒系统( 兼容所有浏览器 )
Apr 07 Javascript
javascript写的日历类(基于pj)
Dec 28 Javascript
浏览器常用高宽的jquery插件
Feb 24 Javascript
避免回车键导致的页面无意义刷新的解决方法
Apr 12 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
基于jquery的滚动鼠标放大缩小图片效果
Oct 27 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
Jan 12 Javascript
jQuery实现字符串全部替换的方法
Dec 12 Javascript
js实现鼠标左右移动,图片也跟着移动效果
Jan 25 Javascript
javascript 缓冲运动框架的实现
Sep 29 Javascript
express默认日志组件morgan的方法
Apr 05 Javascript
安装多版本Vue-CLI的实现方法
Mar 24 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编码规范-php coding standard
2007/03/16 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
PHP实现的简单日历类
2014/11/29 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
Node.js中对通用模块的封装方法
2014/06/06 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
js实现全选和全不选
2020/07/28 Javascript
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
放飞中国梦演讲稿
2014/04/23 职场文书
大足石刻导游词
2015/02/02 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL