zoukankan      html  css  js  c++  java
  • 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.             }  
  • 相关阅读:
    Asynchronous AOF fsync is taking too long (disk is busy?). Writing the AOF buffer without waiting for fsync to complete, this may slow down Redis.
    DHCP "No subnet declaration for xxx (no IPv4 addresses)" 报错
    Centos安装前端开发常用软件
    kubernetes学习笔记之十:RBAC(二)
    k8s学习笔记之StorageClass+NFS
    k8s学习笔记之ConfigMap和Secret
    k8s笔记之chartmuseum搭建
    K8S集群集成harbor(1.9.3)服务并配置HTTPS
    Docker镜像仓库Harbor1.7.0搭建及配置
    Nginx自建SSL证书部署HTTPS网站
  • 原文地址:https://www.cnblogs.com/ouyangping/p/6412724.html
Copyright © 2011-2022 走看看