兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现

代码如下:

<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使用。

(0)

相关推荐

  • js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome

    /* 对联广告调用 第一个参数为ID,第二个参数图片,第三个参数广告距离顶部的距离, 第四个参数表示左右(true代表左,false代表右),第五个参数对联广告的宽度 */ new float_ad("ad_l","<img src='/System/uploads/allimg/090504/2346400.gif' />",50,true,64); new float_ad("ad_r","<img src='/S

  • ASP.net Menu控件在Google Chrome和Safari浏览器下显示错位的解决办法

    复制代码 代码如下: <browsers> <browser id="Safari3" parentID="Safari1Plus"> <identification> <useragent match="Safari/\d+\.\d+" /> </identification> <capture> <useragent match="Version/(?'v

  • 解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)

    前言: 这是一个老bug了,现在提供一个完美解决方案.由于我一直是用createElement来创建动态的option并添加,所以一直没有遇到这个问题,但是每个人写代码风格不同,有的人就喜欢写字符串形式的标签并用innerHTML插入,这不就有问题了,为了方便不同编码风格的人,我封装了一个方法,用于解决ie的这个bug和兼容5大浏览器,这样大家都可以用一个方法来实现不同的风格,便于维护管理. bug描述: 在ie下面使用innerHTML来插入option选项的话,ie会去掉前面的<option

  • javascript实现阻止iOS APP中的链接打开Safari浏览器

    上次根据网上的教程给自己的网站弄了一个Web APP,但是给用户的感觉却十分糟糕. 问题说明: 怎么了?原来是打开WEB APP后在主页上随意打开连接,就会自作主张地打开Safari浏览器.原来好好的伪装和心情就全被破坏掉了.这该如何是好?原来解决方法十分简单.仅仅加入这些代码就好了.实验测试在本人的 iPhone (iOS 7.1)和iPod (iOS 6.1.4)上测试通过,根据原作者的叙述,最新的 iOS 7.0.4(iPhone 与 iPad)测试通过,代码应该兼容性不错,在这里分享:

  • iOS 9 更新之Safari广告拦截器(Content Blocker)开发教程

    下面通过图文并茂的方式给大家分享下这方面的知识,具体内容如下. 相对于谷歌对广告拦截的禁止,苹果与之态度截然相反,继Mac版Safari加入广告拦截工具之后,即将到来的iOS9对Safari也引入了内容拦截插件-Content Blocker,并且开发者可以使用最新的Xcode7开发以及使用iOS 9模拟器进行调试,下面,笔者将用一个简单的实例进行讲解如何开发Content Blocker. 在使用Google搜索时,排行靠前面的几条永远都是广告项,比如搜索"iPhone6",得到的结

  • jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera

    要实现可编辑的表格功能,我们要解决以下问题: 1.明确要修改的数据在表格中是哪些列(如何找到这些单元格); 2.如何让单元格变成可以编辑的; 3.如何处理单元格的一些按键事件; 4.解决跨浏览器问题. 我们通过jQuery可以一步一步解决上述问题. 一. 绘制表格 首先我们先画好一个表格. Code1: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww

  • 在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript

    Javascript Debug Toolkit 是一个开源免费的eclipse插件,官方主页:http://code.google.com/p/jsdt 下图给出一个调试工具支持的浏览器对照表 工具\浏览器 Ie Firefox Safari Chrome Opera 其他 VS.net 支持 Microsoft Script Debugger 支持 Firebug 支持 venkman 支持 NebBeans 支持 支持 Aptana 支持 支持 Eclipose ATF 支持 MyEcli

  • safari,opera嵌入iframe页面cookie读取问题解决方法

    查到原因是因为在这些浏览器中对第三方的cookie安全验证比较严格,需要确认是用户主动到第三方网站的,才能读到cookie,于是加个引导页面要用户点击下才能进入我们的组件. 1,首页 判断是否是这些浏览器,若是则去引导页面,其中reflag是判断是否已经去过引导页面.若已经引导过就不去引导页面了. 复制代码 代码如下: function safarireload() { var rehref=window.location.href; if(jQuery.browser.safari&&&

  • 兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现

    复制代码 代码如下: <script type="text/javascript"><!-- function GOOGLEResize(){ alert(1); } var ua=navigator.userAgent.toLowerCase(); var isStrict=document.compatMode=="CSS1Compat", isOpera=ua.indexOf("opera")>-1, isSafar

  • javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)

    首先创建html页面为sort.html ,并把下面的内容复制进去 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

  • javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)

    JavaScript获取Select当前值写法:var value = document.getElementById("select").options[document.getElementById("select").options.selectedIndex].value;var text = document.getElementById("select").options[document.getElementById("s

  • 防止页面被iframe(兼容IE,Firefox火狐)

    以前防止页面被iframe使用的是这段代码 复制代码 代码如下: <script type="text/javascript> if (top.location !== self.location) { top.location=self.location; } </script> 但是在Firefox里你会发现页面会一直不停的在刷. 页面根本没法用. 这里是因为firefox windows.top如果没有那么就是空,在IE下windows.top就是本窗口 页面不断的

  • Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试

    接着在各个浏览器中测试,发现Firefox/Chrome/Safari中有,IE9/Opera没有. $ 相当于 document.getElementById $$ 相当于 document.querySelectorAll 在chrome控制台敲$,$$一目了然 这两个函数都是浏览器调试工具自带的.

  • JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)

    **兼容IE,Firefox 遵循W3C标准写法的图片无缝滚动代码(支持左移/右移功能)(本示例为上下两行图片进行双行滚动) **实现思路:一个设定宽度并且隐藏超出它宽度的内容的容器demo,里面放demo1和demo2,demo1是滚动内容,demo2为demo1的直接克隆, **通过不断改变demo1的scrollTop或者scrollLeft达到滚动的目的,当滚动至demo1与demo2的交界处时直接跳回初始位置, **因为demo1与demo2一样,所以分不出跳动的瞬间,从而达到"无缝&

  • 颜色选择器 Color Picker,IE,Firefox,Opera,Safar

    from: 颜色选择器 colorpickerhttp://jscolor.com/http://dematte.at/colorPicker/http://www.free-color-picker.com/color-picker-samples.phphttp://www.nogray.com/color_picker.phphttp://www.mattkruse.com/javascript/colorpicker/ ColorPicker2.js代码 复制代码 代码如下: // ==

  • javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox] 原创

    从cnblogs看到的代码,作者的代码随便不兼容firefox但,有助于大家学习为什么下面的代码兼容了firefox,大家可以对比下,有助于学习,对于更多的文章可以参考我们以前发布的文章. function mouseover(){ var ObjTd=window.event.srcElement; var ObjTr=ObjTd.parentElement; var y=ObjTr.rowIndex; var x=ObjTd.cellIndex; alert(x+" "+y); }

  • JS实现pasteHTML兼容ie,firefox,chrome的方法

    本文实例讲述了JS实现pasteHTML兼容ie,firefox,chrome的方法.分享给大家供大家参考,具体如下: <html> <body> <script language="JavaScript"> function test() { if (document.selection && document.selection.createRange) { var myRange = document.selection.cre

  • php中通过curl检测页面是否被百度收录

    最近要对网站做个整理,需要检测网站内哪些页面没有被百度搜索引擎收录从而进行相关的调整.由于使用site命令一条条的去看实在是看不过来,就想到了使用php程序来批量处理一下,研究了一下,发现其实很简单,下面就将作者使用php实现的检测页面是否被百度收录的功能分享一下. 下面是具体代码: 复制代码 代码如下: <?php/** 检测网页是否被百度收录,返回1则表示收录 返回0表示没有收录* @ param string $url 待检测的网址*/function checkBaiduInclude(

随机推荐