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 相关文章推荐
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 Javascript
用jquery写的菜单从左往右滑动出现
Apr 11 Javascript
jQuery中data()方法用法实例
Dec 27 Javascript
7个让JavaScript变得更好的注意事项
Jan 28 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
简单学习JavaScript中的for语句循环结构
Nov 10 Javascript
JavaScript驾驭网页-CSS与DOM
Mar 24 Javascript
BootStrap table表格插件自适应固定表头(超好用)
Aug 24 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
js实现网页版贪吃蛇游戏
Feb 22 Javascript
vue实现公告栏文字上下滚动效果的示例代码
Jun 16 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
点评山进PR-D3L三波段收音机
2021/03/02 无线电
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
对TensorFlow的assign赋值用法详解
2018/07/30 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
python实现简易学生信息管理系统
2020/04/05 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
Unineed旗下时尚轻奢网站:FABHunt
2019/05/13 全球购物
幼师自荐信
2013/10/26 职场文书
建筑工程专业学生的自我评价
2013/12/25 职场文书
青年文明号服务承诺
2014/03/31 职场文书
学习雷锋活动总结
2014/04/29 职场文书
小学师德师风整改措施
2014/10/27 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
python3中apply函数和lambda函数的使用详解
2022/02/28 Python
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL