• js/jquery判断浏览器 & 停止加载


    JS获取浏览器信息

    复制代码代码如下:

    浏览器代码名称:navigator.appCodeName
    浏览器名称:navigator.appName
    浏览器版本号:navigator.appVersion
    对Java的支持:navigator.javaEnabled()
    MIME类型(数组):navigator.mimeTypes
    系统平台:navigator.platform
    插件(数组):navigator.plugins
    用户代理:navigator.userAgent


    js判断IE浏览器的四种方法:

    方法一:

    1
    2
    3
    4
    5
    6
    7
    if(window.addEventListener){
    alert("not ie");
    }else if(window.attachEvent){
    alert("is ie");
    }else{
    alert("这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)")
    }

    注释:该方法在IE9及以上IE版本会弹出not ie结果

    方法二:

    1
    2
    3
    4
    5
    if(document.all){
    alert("IE");
    }else{
    alert("not ie");
    }

    方法三:

    1
    2
    3
    4
    5
    6
    var navigatorName = "Microsoft Internet Explorer";
    if( navigator.appName == navigatorName ){
    alert("ie")
    }else{
    alert("not ie")
    }

    方法四:
    利用了IE与标准浏览器在处理数组的toString方法的差异.对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它.

    1
    2
    if(!+[1,])alert("这是ie浏览器");
    else alert("这不是ie浏览器");

    注释:IE9及以上版本会弹出“这不是IE浏览器”

    判断常用浏览器的方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    var explorer =navigator.userAgent ;
    //ie
    if (explorer.indexOf("MSIE") >= 0) {
    alert("ie");
    }
    //firefox
    else if (explorer.indexOf("Firefox") >= 0) {
    alert("Firefox");
    }
    //Chrome
    else if(explorer.indexOf("Chrome") >= 0){
    alert("Chrome");
    }
    //Opera
    else if(explorer.indexOf("Opera") >= 0){
    alert("Opera");
    }
    //Safari
    else if(explorer.indexOf("Safari") >= 0){
    alert("Safari");
    }
    //Netscape
    else if(explorer.indexOf("Netscape")>= 0) {
    alert('Netscape');
    }

    这里用到navigator.userAgent.indexOf("MSIE") >= 0进行判断,当然也可以用
    navigator.userAgent.indexOf("MSIE") != -1 进行判断。

    jquery判断浏览器类型和浏览器版本号的方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $(document).ready(function(){
     
      var brow=$.browser;
     
      var bInfo="";
     
      if(brow.msie){bInfo="MicrosoftInternetExplorer"+brow.version;}
     
      if(brow.mozilla){bInfo="MozillaFirefox"+brow.version;}
     
      if(brow.safari){bInfo="AppleSafari"+brow.version;}
     
      if(brow.opera){bInfo="Opera"+brow.version;}
     
      alert(bInfo);
     
    });

    注意:Query 从 1.9 版开始,移除了 .browser和.browser.version , 取而代之的是 $.support 方法

    第一种,只区分浏览器,不考虑版本

    复制代码代码如下:

    function myBrowser(){
        var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
        var isOpera = userAgent.indexOf("Opera") > -1;
        if (isOpera) {
            return "Opera"
        }; //判断是否Opera浏览器
        if (userAgent.indexOf("Firefox") > -1) {
            return "FF";
        } //判断是否Firefox浏览器
        if (userAgent.indexOf("Chrome") > -1){
      return "Chrome";
     }
        if (userAgent.indexOf("Safari") > -1) {
            return "Safari";
        } //判断是否Safari浏览器
        if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
            return "IE";
        }; //判断是否IE浏览器
    }

    //以下是调用上面的函数
    var mb = myBrowser();
    if ("IE" == mb) {
        alert("我是 IE");
    }
    if ("FF" == mb) {
        alert("我是 Firefox");
    }
    if ("Chrome" == mb) {
        alert("我是 Chrome");
    }
    if ("Opera" == mb) {
        alert("我是 Opera");
    }
    if ("Safari" == mb) {
        alert("我是 Safari");
    }

    第二种,区分浏览器,并考虑IE5.5 6 7 8

    复制代码代码如下:

    function myBrowser(){
        var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
        var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
        var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
        var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
        if (isIE) {
            var IE5 = IE55 = IE6 = IE7 = IE8 = false;
            var reIE = new RegExp("MSIE (\d+\.\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
            IE55 = fIEVersion == 5.5;
            IE6 = fIEVersion == 6.0;
            IE7 = fIEVersion == 7.0;
            IE8 = fIEVersion == 8.0;
            if (IE55) {
                return "IE55";
            }
            if (IE6) {
                return "IE6";
            }
            if (IE7) {
                return "IE7";
            }
            if (IE8) {
                return "IE8";
            }
        }//isIE end
        if (isFF) {
            return "FF";
        }
        if (isOpera) {
            return "Opera";
        }
    }//myBrowser() end
    //以下是调用上面的函数
    if (myBrowser() == "FF") {
        alert("我是 Firefox");
    }
    if (myBrowser() == "Opera") {
        alert("我是 Opera");
    }
    if (myBrowser() == "Safari") {
        alert("我是 Safari");
    }
    if (myBrowser() == "IE55") {
        alert("我是 IE5.5");
    }
    if (myBrowser() == "IE6") {
        alert("我是 IE6");
    }
    if (myBrowser() == "IE7") {
        alert("我是 IE7");
    }
    if (myBrowser() == "IE8") {
        alert("我是 IE8");
    }

    下面给出一个判断当前浏览器是IE的JS代码.

    原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。 


    <script>

    var ie = !-[1,];

    alert(ie);

    </script>

    停止加载

    1.  var xmlhttp;  
    2.             if (window.XMLHttpRequest) {  
    3.                 // code for IE7+, Firefox, Chrome, Opera, Safari  
    4.                 xmlhttp = new XMLHttpRequest();  
    5.             }else {  
    6.                 // code for IE6, IE5  
    7.                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  
    8.             }  
    9.             xmlhttp.abort();  
    10.             //停止继续加载页面,相当于点击stop按钮。  
    11.             if (!!(window.attachEvent && !window.opera))  
    12.             {  
    13.                 document.execCommand("stop");// code for IE  
    14.             }else{  
    15.                 /**  
    16.                  * stops window loading  
    17.                  * code for  Firefox, Chrome, Opera, Safari  
    18.                  */  
    19.                 window.stop();  
    20.             }  
  • 相关阅读:
    EffectiveC#17--装箱和拆箱的最小化
    EffectiveC#16--垃圾最小化
    EffectiveC#15--使用using和try/finally来做资源清理
    NET基础课--对象的筛选和排序(NET之美)
    Objective-C浅拷贝和深拷贝
    IOS viewdidload 方法在 init 方法之前调用
    [iOS]为什么不要在init初始化方法里调用self.view
    为什么init方法里有self.view就会先跑viewdidload方法
    IOS开发中重写init方法使用需谨慎
    The file “XXX.app” couldn’t be opened because you don’t have permission to view it.
  • 原文地址:https://www.cnblogs.com/ouyangping/p/6412724.html
Copyright © 2020-2023  润新知