兼容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 相关文章推荐
建立良好体验度的Web注册系统ajax
Jul 09 Javascript
JavaScript学习笔记之获取当前目录的实现代码
Dec 14 Javascript
jQuery实现ichat在线客服插件
Dec 29 Javascript
jQuery四种选择器使用及示例
Jun 05 Javascript
JavaScript编码风格指南(中文版)
Aug 26 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
Sep 02 Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
Aug 11 Javascript
mac上配置Android环境变量的方法
Jul 08 Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
微信小程序登陆注册功能的实现代码
Dec 10 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 array_slice函数的使用以及参数详解
2008/08/30 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
phpwind放自动注册方法
2006/12/02 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
JS 对象介绍
2010/01/20 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
Javascript学习指南
2014/12/01 Javascript
JS面向对象编程详解
2016/03/06 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
Python中文编码那些事
2014/06/25 Python
Python读写ini文件的方法
2015/05/28 Python
python破解zip加密文件的方法
2018/05/31 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
库房管理员岗位职责
2015/02/12 职场文书
财务统计员岗位职责
2015/04/14 职场文书
道歉信怎么写
2015/05/12 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
POST提交数据常见的四种方式
2022/01/18 HTML / CSS
mysql insert 存在即不插入语法说明
2022/03/25 MySQL