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 相关文章推荐
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
探索angularjs+requirejs全面实现按需加载的套路
Feb 26 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
May 03 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
Dec 01 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
Dec 28 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 Javascript
JavaScript实现简单图片轮播效果
Aug 21 Javascript
js实现1,2,3,5数字按照概率生成
Sep 12 Javascript
小程序文字跑马灯效果
Dec 28 Javascript
vue实现侧边栏导航效果
Oct 21 Javascript
Vue+Element-U实现分页显示效果
Nov 15 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
最简单的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文件操作实现代码分享
2011/09/01 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
JavaScript修改css样式style
2008/04/15 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
跟老齐学Python之list和str比较
2014/09/20 Python
python 为什么说eval要慎用
2019/03/26 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
python 获取计算机的网卡信息
2021/02/18 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
写给爸爸的道歉信
2014/01/15 职场文书
语文教学随笔感言
2014/02/18 职场文书
2014年国庆节寄语
2014/09/19 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
护士旷工检讨书
2015/08/15 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
python 提取html文本的方法
2021/05/20 Python
MySQL GRANT用户授权的实现
2021/06/18 MySQL
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers