兼容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对checkbox操作 (循环获取)
May 20 Javascript
2014年50个程序员最适用的免费JQuery插件
Dec 15 Javascript
JavaScript获取DOM元素的11种方法总结
Apr 25 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
Jan 20 Javascript
解析Node.js异常处理中domain模块的使用方法
Feb 16 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
Jun 28 Javascript
JS简单实现浮动窗口效果示例
Sep 07 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
vue+Java后端进行调试时解决跨域问题的方式
Oct 19 Javascript
微信小程序-API接口安全详解
Jul 16 Javascript
Vue初始化中的选项合并之initInternalComponent详解
Jun 11 Javascript
vue中data里面的数据相互使用方式
Jun 05 Vue.js
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
一个程序下载的管理程序(三)
2006/10/09 PHP
Apache2 httpd.conf 中文版
2006/12/06 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
浅说js变量
2011/05/25 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
在Windows8上的搭建Python和Django环境
2014/07/03 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
Ibatis如何使用动态表名
2015/07/12 面试题
高中自我评价分享
2013/12/05 职场文书
找工作最新求职信
2013/12/22 职场文书
运动会运动员赞词
2015/07/22 职场文书
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
php解析非标准json、非规范json的方式实例
2022/05/10 PHP