• JS判断客户端是手机还是PC的2个代码


    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";
     }
    }
  • 相关阅读:
    艾伟:WCF中通过Dispose有效实现重用 狼人:
    艾伟:用 IIS 7、ARR 與 Velocity 建置高性能的大型网站 狼人:
    艾伟:表达式树和泛型委托 狼人:
    艾伟:jQuery性能优化指南(2) 狼人:
    艾伟:在Windows Mobile上实现自动拼写和匹配建议 狼人:
    艾伟:Web.config配置文件详解 狼人:
    艾伟:对 String 的几个错误认识 狼人:
    艾伟:ASP.NET安全问题--Forms验证的具体介绍(上篇) 狼人:
    艾伟:基于web信息管理系统的权限设计分析和总结 狼人:
    艾伟:[你必须知道的.NET]第三十一回,深入.NET 4.0之,从“新”展望 狼人:
  • 原文地址:https://www.cnblogs.com/yingsu/p/7054627.html
Copyright © 2020-2023  润新知