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 相关文章推荐
node.js中的console.info方法使用说明
Dec 09 Javascript
利用jquery制作滚动到指定位置触发动画
Mar 26 Javascript
JS中frameset框架弹出层实例代码
Apr 01 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
基于angular实现模拟微信小程序swiper组件
Jun 11 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
使用Bootstrap4 + Vue2实现分页查询的示例代码
Dec 21 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
Vue 子组件与数据传递问题及注意事项
Jul 11 Javascript
转换layUI的数据表格中的日期格式方法
Sep 19 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
php5 and xml示例
2006/11/22 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
php实现数据库的增删改查
2017/02/26 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
range 标准化之获取
2011/08/28 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python字符串替换实例分析
2015/05/11 Python
详解Python import方法引入模块的实例
2017/08/02 Python
python实现简易内存监控
2018/06/21 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
目标责任书范文
2014/04/14 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
企业法人代表证明书
2015/06/18 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
Python深度学习之Pytorch初步使用
2021/05/20 Python