兼容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 相关文章推荐
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
Jan 21 Javascript
javascript检查表单数据是否改变的方法
Jul 30 Javascript
把jquery 的dialog和ztree结合实现步骤
Aug 02 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
Mar 10 Javascript
js图片实时加载提供网页打开速度
Sep 11 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
Mar 26 Javascript
jQuery实现的简洁下拉菜单导航效果代码
Aug 26 Javascript
Bootstrap每天必学之日期控制
Mar 07 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
Jan 09 Javascript
es6数组之扩展运算符操作实例分析
Apr 25 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 07 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 MsSql server时遇到的中文编码问题
2009/06/11 PHP
php printf输出格式使用说明
2010/12/05 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
python计数排序和基数排序算法实例
2014/04/25 Python
详解Python如何生成词云的方法
2018/06/01 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
python pytest进阶之fixture详解
2019/06/27 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
商务英语专业应届毕业生求职信
2013/10/28 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
培训自我鉴定
2014/01/31 职场文书
社区戒毒工作方案
2014/06/04 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL