兼容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 相关文章推荐
用CSS+JS实现的进度条效果效果
Jun 05 Javascript
jQuery获取注册信息并提示实现代码
Apr 21 Javascript
javascript合并表格单元格实例代码
Jan 03 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
Mar 29 Javascript
vue中如何实现变量和字符串拼接
Jun 19 Javascript
AngularJS service之select下拉菜单效果
Jul 28 Javascript
基于Require.js使用方法(总结)
Oct 26 Javascript
Node 升级到最新稳定版的方法分享
May 17 Javascript
如何让微信小程序页面之间的通信不再变困难
Jun 03 Javascript
详谈Object.defineProperty 及实现数据双向绑定
Jul 18 Javascript
js 图片懒加载的实现
Oct 21 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
PHP 防注入函数(格式化数据)
2011/08/08 PHP
PHP高级对象构建 工厂模式的使用
2012/02/05 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
python实现代理服务功能实例
2013/11/15 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
Python优先队列实现方法示例
2017/09/21 Python
用python实现对比两张图片的不同
2018/02/05 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Python简易版图书管理系统
2019/08/12 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
.net工程师笔试题
2012/06/09 面试题
销售个人求职信范文
2014/04/28 职场文书
小学生思想品德评语
2014/12/31 职场文书
入党转正申请书范文
2019/05/20 职场文书
Python爬取某拍短视频
2021/06/11 Python
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android