• js判断浏览器是手机还是Pc


    JS判断客户端是手机还是PC的2个代码
    投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-04-12 我要评论
    Javascript 判断客户端是否为 PC 还是手持设备,有时候项目中需要用到,很方便的检测,源生的哦,方法一共有两种
    1、第一种:
    复制代码代码如下:
    function IsPC() {
        var userAgentInfo = navigator.userAgent;
        var Agents = ["Android", "iPhone",
                    "SymbianOS", "Windows Phone",
                    "iPad", "iPod"];
        var flag = true;
        for (var v = 0; v < Agents.length; v++) {
            if (userAgentInfo.indexOf(Agents[v]) > 0) {
                flag false;
                break;
            }
        }
        return flag;
    }
    
    2、第二种:
    复制代码代码如下:
    function browserRedirect() {
        var sUserAgent = navigator.userAgent.toLowerCase();
        var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
        var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
        var bIsMidp = sUserAgent.match(/midp/i) == "midp";
        var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
        var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
        var bIsAndroid = sUserAgent.match(/android/i) == "android";
        var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
        var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
        if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) ){
            window.location.href=B页面;
        }
    }
    browserRedirect();
    
    
    百度的判断代码
    
    复制代码代码如下:
    
    function uaredirect(f) {
     try {
      if (document.getElementById("bdmark") != null) {
       return
      }
      var b = false;
      if (arguments[1]) {
       var e = window.location.host;
       var a = window.location.href;
       if (isSubdomain(arguments[1], e) == 1) {
        f = f + "/#m/" + a;
        b true
       } else {
        if (isSubdomain(arguments[1], e) == 2) {
         f = f + "/#m/" + a;
         b true
        } else {
         f = a;
         b false
        }
       }
      } else {
       b true
      }
      if (b) {
       var c = window.location.hash;
       if (!c.match("fromapp")) {
        if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|SymbianOS)/i))) {
         location.replace(f)
        }
       }
      }
     } catch(d) {}
    }
    function isSubdomain(c, d) {
     this.getdomain = function(f) {
      var e = f.indexOf("://");
      if (e > 0) {
       var h = f.substr(e + 3)
      } else {
       var h = f
      }
      var g = /^www\./;
      if (g.test(h)) {
       h = h.substr(4)
      }
      return h
     };
     if (c == d) {
      return 1
     } else {
      var c = this.getdomain(c);
      var b = this.getdomain(d);
      if (c == b) {
       return 1
      } else {
       c = c.replace(".", "\\.");
       var a = new RegExp("\\." + c + "$");
       if (b.match(a)) {
        return 2
       } else {
        return 0
       }
      }
     }
    };
    
    使用方法:
    <SCRIPT type=text/javascript>uaredirect("手机站","WEB站");</SCRIPT>
    另外一篇,感觉不如上面的好,不过大家可以参考下
    复制代码代码如下:
    
    var browser_class = navigator.userAgent;
    var browser_class_name1 = browser_class.match("Mobile");
    var browser_class_name2 = browser_class.match("mobile");
    var location_url = window.location.href;
    if (browser_class_name1 != null || browser_class_name2 != null) {
     if (location_url.match("wap") == null) {
      window.location.href = "http://wap.xxxx.com";
     }
    } else {
     if (location_url.match("3g") != null || location_url.match("wap") != null) {
      window.location.href = "http://wap.xxxx.com";
     }
    }
        如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区
  • 相关阅读:
    ASP.NET 配置log4net启用写错误日志功能
    jQuery formValidator表单验证插件
    jQuery Easy Validate Plugin
    https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
    Request 分别获取具有相同 name 属性表单元素值
    asp.net开源CMS推荐
    客户对账单本月欠款
    AR 客户本月回款
    应收帐款汇总
    采购订单关闭之PL/SQL实现方法
  • 原文地址:https://www.cnblogs.com/devgis/p/16524675.html
Copyright © 2020-2023  润新知