兼容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 相关文章推荐
JQuery操作tr和td内容的方法实例
Mar 06 Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 Javascript
SeaJS 与 RequireJS 的差异对比
Dec 08 Javascript
javascript中的this详解
Dec 08 Javascript
Web开发必知Javascript技巧大全
Feb 23 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
Jul 22 Javascript
javascript实现简单的on事件绑定
Aug 23 Javascript
bootstrap 通过加减按钮实现输入框组功能
Nov 15 Javascript
vuejs 动态添加input框的实例讲解
Aug 24 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
5种 JavaScript 方式实现数组扁平化
Oct 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
德劲1103的维修打理经验
2021/03/02 无线电
新闻分类录入、显示系统
2006/10/09 PHP
php 高性能书写
2010/12/11 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
2019/09/25 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
社区春季防火方案
2014/06/02 职场文书
社保委托书怎么写
2014/08/02 职场文书
监考失职检讨书
2015/01/26 职场文书
英文慰问信范文
2015/03/24 职场文书
政审证明材料
2015/06/19 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技