兼容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 相关文章推荐
关于使用runtimeStyle属性问题讨论文章
Mar 08 Javascript
jQuery 1.3 和 Validation 验证插件1.5.1
Jul 09 Javascript
js数组去重的常用方法总结
Jan 24 Javascript
jquery中animate的stop()方法作用实例分析
Jan 30 Javascript
Javascript核心读书有感之语句
Feb 11 Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 Javascript
微信小程序 scroll-view组件实现列表页实例代码
Dec 14 Javascript
JavaScript用二分法查找数据的实例代码
Jun 17 Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 Javascript
微信小程序实现团购或秒杀批量倒计时
Nov 01 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
Aug 24 Javascript
js实现全选反选不选功能代码详解
Apr 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
php SQL防注入代码集合
2008/04/25 PHP
PHP获取MAC地址的函数代码
2011/09/11 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
2020/05/14 PHP
javascript去掉前后空格的实例
2013/11/07 Javascript
子页向父页传值示例
2013/11/27 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
Vue 事件处理操作实例详解
2019/03/05 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
python调用cmd复制文件代码分享
2013/12/27 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
Keras搭建自编码器操作
2020/07/03 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
计算机专业应届毕业生自荐信
2013/09/26 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
给客户的检讨书
2014/12/21 职场文书
英文慰问信
2015/02/14 职场文书
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers