• 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";
     }
    }
        如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区
  • 相关阅读:
    mysql索引
    springboot mybatis 后台框架平台 shiro 权限 集成代码生成器
    java 企业网站源码模版 有前后台 springmvc SSM 生成静态化
    java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis
    activiti工作流的web流程设计器整合视频教程 SSM和独立部署
    .Net Core中的ObjectPool
    文件操作、流相关类梳理
    .Net Core中的配置文件源码解析
    .Net Core中依赖注入服务使用总结
    消息中间件RabbitMQ(一)
  • 原文地址:https://www.cnblogs.com/devgis/p/16524675.html
Copyright © 2020-2023  润新知