兼容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 相关文章推荐
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
Dec 09 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
May 15 Javascript
jQuery中closest和parents的区别分析
May 07 Javascript
javascript实现自动填写表单实例简析
Dec 02 Javascript
Node.js实现数据推送
Apr 14 Javascript
vue中实现移动端的scroll滚动方法
Mar 03 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
Jul 25 Javascript
微信小程序自定义组件实现环形进度条
Nov 17 Javascript
JS实现网页时钟特效
Mar 25 Javascript
Vue.js中使用Vuex实现组件数据共享案例
Jul 31 Javascript
封装Vue Element的table表格组件的示例详解
Aug 19 Javascript
JavaScript实现网页计算器功能
Oct 29 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
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
Python 随机生成中文验证码的实例代码
2013/03/20 Python
python中的多重继承实例讲解
2014/09/28 Python
Python中的pprint折腾记
2015/01/21 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
python实现文法左递归的消除方法
2020/05/22 Python
Python程序慢的重要原因
2020/09/04 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
工商管理实习自我鉴定
2013/09/28 职场文书
应届生个人求职信模板
2013/11/26 职场文书
优秀员工年终发言演讲稿
2014/01/01 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
学校安全责任书
2014/04/14 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
2015年教师自我评价范文
2015/03/04 职场文书
爱国主题班会教案
2015/08/14 职场文书
七年级上册生物的课件
2019/08/07 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server