天天看点

判断客户端是PC还是手持设备的JS代码【转】

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)

   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

   c = c.replace(".", "\\.");

   var a = new RegExp("\\." + c + "$");

   if (b.match(a)) {

    return 2

    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) {