兼容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 相关文章推荐
IE下window.onresize 多次调用与死循环bug处理方法介绍
Nov 12 Javascript
基于js与flash实现的网站flv视频播放插件代码
Oct 14 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
Feb 24 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
Sep 13 Javascript
如何利用JQuery实现从底部回到顶部的功能
Dec 27 Javascript
JS实现的简易拖放效果示例
Dec 29 Javascript
BootStrap实现带关闭按钮功能
Feb 15 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
Feb 27 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
Sep 26 Javascript
vue实现修改图片后实时更新
Nov 14 Javascript
ES2020 已定稿,真实场景案例分析
May 25 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 HTML代码串 截取实现代码
2009/06/29 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
使用PHP编写发红包程序
2015/07/22 PHP
php图片上传类 附调用方法
2016/05/15 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
sina的lightbox效果。
2007/01/09 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
ECMAScript6--解构
2017/03/30 Javascript
react路由配置方式详解
2017/08/07 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
Python读大数据txt
2016/03/28 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
Python函数式编程实例详解
2020/01/17 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
饭店工作计划书
2014/01/10 职场文书
国税会议欢迎词
2014/01/16 职场文书
市政管理求职信范文
2014/05/07 职场文书
交通事故协议书范文
2014/10/23 职场文书
具结保证书
2015/01/17 职场文书
公司副总经理岗位职责
2015/04/08 职场文书