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 相关文章推荐
javascript Math.random()随机数函数
Nov 04 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
常用的JavaScript验证正则表达式汇总
Nov 26 Javascript
JavaScript中的连字符详解
Nov 28 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
Sep 01 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
May 20 Javascript
老生常谈jacascript DOM节点获取
Apr 17 Javascript
BootStrap数据表格实例代码
Sep 13 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
Jan 25 Javascript
Node.js笔记之process模块解读
May 31 Javascript
vue点击页面空白处实现保存功能
Nov 06 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 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
一个查看session内容的函数
2006/10/09 PHP
php adodb操作mysql数据库
2009/03/19 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
python将txt文件读取为字典的示例
2018/12/22 Python
浅谈python常用程序算法
2019/03/22 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
Python项目打包成二进制的方法
2020/12/30 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
感恩之星事迹材料
2014/05/03 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
工会文体活动总结
2015/05/07 职场文书
勤俭节约主题班会
2015/08/13 职场文书
用Python可视化新冠疫情数据
2022/01/18 Python
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers