兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现


Posted in Javascript onJuly 14, 2009
<script type="text/javascript"><!-- 
function GOOGLEResize(){ 
alert(1); 
} 
var ua=navigator.userAgent.toLowerCase(); 
var isStrict=document.compatMode=="CSS1Compat", 
isOpera=ua.indexOf("opera")>-1, 
isSafari=(/webkit|khtml/).test(ua), 
isIE=ua.indexOf("msie")>-1, 
isIE7=ua.indexOf("msie 7")>-1, 
isGecko=!isSafari&&ua.indexOf("gecko")>-1, 
isBorderBox=isIE&&!isStrict, 
isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1), 
isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1), 
isLinux=(ua.indexOf("linux")!=-1), 
isSecure=window.location.href.toLowerCase().indexOf("https")===0; 
if(isGecko || isOpera) { 
    document.addEventListener("DOMContentLoaded", GOOGLEResize, false); 
}else if(isIE){ 
    document.write("<s"+'cript id="ie-deferred-loader" defer="defer" src="/'+'/:"></s'+"cript>"); 
    var defer = document.getElementById("ie-deferred-loader"); 
    defer.onreadystatechange = function(){ 
        if(this.readyState == "complete"){ 
            GOOGLEResize(); 
        } 
    }; 
}else if(Ext.isSafari){ 
    docReadyProcId = setInterval(function(){ 
        var rs = document.readyState; 
        if(rs == "complete") { 
            GOOGLEResize(); 
         } 
    }, 10); 
}else{ 
window.onload=GOOGLEResize; 
} 
// --></script>

其中对于IE的检测很有意思。
以上代码,整理自Extjs的脚本,完全可以代替 Ext.onReady使用。
Javascript 相关文章推荐
静态的动态续篇之来点XML
Dec 23 Javascript
基于jQuery滑动杆实现购买日期选择效果
Sep 15 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
Nov 13 Javascript
分享Javascript实用方法二
Dec 13 Javascript
基于JavaScript实现动态创建表格和增加表格行数
Dec 20 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
Feb 06 Javascript
Node.js中的cluster模块深入解读
Jun 11 Javascript
原生JS实现$.param() 函数的方法
Aug 10 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
Dec 29 Javascript
js实现右键弹出自定义菜单
Sep 08 Javascript
vue的项目如何打包上线
Apr 13 Vue.js
React更新渲染原理深入分析
Dec 24 Javascript
JavaScript 继承详解(四)
Jul 13 #Javascript
JavaScript 继承详解(三)
Jul 13 #Javascript
JavaScript 继承详解(二)
Jul 13 #Javascript
JavaScript 继承详解(一)
Jul 13 #Javascript
javascript dom 操作详解 js加强
Jul 13 #Javascript
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 #Javascript
JavaScript 事件查询综合
Jul 13 #Javascript
You might like
我的论坛源代码(十)
2006/10/09 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
javascript 常用方法总结
2009/06/03 Javascript
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
使用Python实现博客上进行自动翻页
2017/08/23 Python
使用Python设计一个代码统计工具
2018/04/04 Python
django2.0扩展用户字段示例
2019/02/13 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
营销与策划专业毕业生求职信
2013/11/01 职场文书
经典公益广告词
2014/03/13 职场文书
奥利奥广告词
2014/03/20 职场文书
公司授权委托书
2014/04/04 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
检察院起诉意见书
2015/05/20 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
教你部署vue项目到docker
2022/04/05 Vue.js