兼容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 相关文章推荐
Use Word to Search for Files
Jun 15 Javascript
JS动态添加option和删除option(附实例代码)
Apr 01 Javascript
怎么选择Javascript框架(Javascript Framework)
Nov 22 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
Sep 15 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
Oct 31 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
Nov 21 Javascript
vue权限管理系统的实现代码
Jan 17 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
Sep 25 Javascript
vue Tab切换以及缓存页面处理的几种方式
Nov 05 Javascript
Vuejs中的watch实例详解(监听者)
Jan 05 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
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 第一步 hello world
2009/09/25 Python
详解Python Socket网络编程
2016/01/05 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
python与mysql数据库交互的实现
2020/01/06 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
火山动力Java笔试题
2014/06/26 面试题
预备党员思想汇报范文
2014/01/11 职场文书
母亲节感恩寄语
2014/02/21 职场文书
电工工作职责范本
2014/02/22 职场文书
百日安全活动总结
2014/05/04 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
新生入学欢迎词
2015/01/26 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
python获取字符串中的email
2022/03/31 Python