兼容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代码
Mar 11 Javascript
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
jQuery的.live()和.die() 使用介绍
Sep 10 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
Nov 07 Javascript
JavaScript中的原型链prototype介绍
Dec 30 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
js实现input框文字动态变换显示效果
Aug 19 Javascript
AngularJs directive详解及示例代码
Sep 01 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
Feb 02 Javascript
JavaScript享元模式原理与用法实例详解
Mar 09 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
咖啡常见的种类
2021/03/03 新手入门
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
vue实现短信验证码输入框
2020/04/17 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
python Socket之客户端和服务端握手详解
2017/09/18 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
windows下python安装pip图文教程
2018/05/25 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
项目投资意向书
2014/04/01 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
2016年安全月活动总结
2016/04/06 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
springboot读取nacos配置文件
2022/05/20 Java/Android