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中的for如何实现foreach中的遍历
May 31 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
JavaScript实现Base64编码转换
Apr 23 Javascript
jQuery对象与DOM对象转换方法详解
May 10 Javascript
微信jssdk用法汇总
Jul 16 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
Nov 20 Javascript
Vue三层嵌套路由的示例代码
May 05 Javascript
node运行js获得输出的三种方式示例详解
Jul 02 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/03/03 新手入门
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
如何在django中运行scrapy框架
2020/04/22 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
比驿:全球酒店比价网
2018/06/20 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
什么是类的返射机制
2016/02/06 面试题
linux比较文件内容的命令是什么
2013/03/04 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
2013年军训通讯稿
2014/02/05 职场文书
高中军训感言800字
2014/03/05 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
法语专业求职信
2014/07/20 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
责任书范本大全
2015/05/11 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
JavaScript实现简单图片切换
2021/04/29 Javascript