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 form 加载数据示例
Apr 21 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
总结Javascript中数组各种去重的方法
Oct 04 Javascript
vue2中filter()的实现代码
Jul 09 Javascript
React中使用collections时key的重要性详解
Aug 07 Javascript
用React实现一个完整的TodoList的示例代码
Oct 30 Javascript
vue开发环境配置跨域的方法步骤
Jan 16 Javascript
vue搜索和vue模糊搜索代码实例
May 07 Javascript
Vue数据绑定实例写法
Aug 06 Javascript
element-ui中Table表格省市区合并单元格的方法实现
Aug 07 Javascript
详细介绍解决vue和jsp结合的方法
Feb 06 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
Feb 27 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 Hash函数,增强密码安全
2011/02/25 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
python通过Windows下远程控制Linux系统
2018/06/20 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
关于Keras Dense层整理
2020/05/21 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
为什么要有struct关键字
2012/05/08 面试题
优秀少先队辅导员事迹材料
2014/12/24 职场文书
python使用glob检索文件的操作
2021/05/20 Python
OpenCV-Python实现油画效果的实例
2021/06/08 Python
Python实现智慧校园自动评教全新版
2021/06/18 Python
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏