• js判断用户是客户端还是移动端


    js判断用户是客户端还是移动端

    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";
     }
    }

    转载自:http://www.jb51.net/article/48939.htm

  • 相关阅读:
    清除缓冲
    iOS 10 开发 相机相关的适配
    UIImagePickerControllerDelegate---ActionSheet---获得设备型号
    4,4s屏幕过渡页处理
    iOS小技巧3
    UIWebView中Html中用JS调用OC方法及OC执行JS代码
    删除本地文件
    NSArray倒序
    tableView和scrollView滚动起冲突
    在UIScrollView的delegate方法判断滚动快慢
  • 原文地址:https://www.cnblogs.com/s313139232/p/9447069.html
Copyright © 2020-2023  润新知