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

前端技术 2023/08/08 JavaScript

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

本文地址:https://www.stayed.cn/item/535

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。