js判断是PC端还是移动端

小云云
小云云 原创
2018-03-26 17:31:32 3448浏览

本文主要和大家分享js判断是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();
"

#### 方案3:

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

#### 百度方案:

"
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 ua = window.navigator.userAgent.toLowerCase();
if (ua.indexOf('android') != -1) {
    window.location = path + "/DownloadSoftWare/" + name + "//m.sbmmt.com/m/" + id+ "//m.sbmmt.com/m/";
} else if (ua.indexOf('iphone') != -1 || ua.indexOf('ipad') != -1) {
    window.top.location = "苹果官网";
} else if (ua.indexOf("Window NT")) {
    window.top.location = path + "//m.sbmmt.com/m/";
} else {
    alert("sorry,暂不支持您的系统下载!!");
}
"

设备信息:
> Mac:
> "
> mozilla/5.0 (macintosh; intel mac os x 10_11_6) applewebkit/604.4.7 (khtml, like gecko) version/11.0.2 safari/604.4.7
> "
> Windows:
> "
> mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/62.0.3202.94 safari/537.36
> "
> iPad:
> "
> mozilla/5.0 (ipad; cpu os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko) version/9.0 mobile/13b143 safari/601.1
> "
> iPhone:
> "
> mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko) version/9.0 mobile/13b143 safari/601.1
> "
> Android:
> "
> mozilla/5.0 (linux; android 5.0; sm-g900p build/lrx21t) applewebkit/537.36 (khtml, like gecko) chrome/62.0.3202.94 mobile safari/537.36
> "

相关推荐:

PHP如何判断是否为手机端

PHP判断手机端、PC端 、微信示例代码分享

js判断手机端(Android手机还是iPhone手机)_javascript技巧

以上就是js判断是PC端还是移动端的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。