兼容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实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
Javascript 中的 call 和 apply使用介绍
Feb 22 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
使用angular写一个hello world
Jan 23 Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
Aug 12 Javascript
jsTree使用记录实例
Dec 01 Javascript
原生JS+Canvas实现五子棋游戏实例
Jun 19 Javascript
vue-cli + sass 的正确打开方式图文详解
Oct 27 Javascript
Js面试算法详解
Apr 08 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
一步一步实现Vue的响应式(对象观测)
Sep 02 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
模仿OSO的论坛(一)
2006/10/09 PHP
php 高效率写法 推荐
2010/02/21 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
php类中private属性继承问题分析
2012/11/01 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
使用Tkinter制作信息提示框
2020/02/18 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
软件测试面试题
2014/01/05 面试题
精神文明建设标语
2014/06/16 职场文书
党支部工作总结2015
2015/04/01 职场文书
培养联系人考察意见
2015/06/01 职场文书
运动员加油词
2015/07/18 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python