首页 > 编程 > JS > 正文

JS代码判断客户端是手机访问还是PC电脑访问

2020-07-03 13:08:28
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了JS代码判断客户端是手机访问还是PC电脑访问,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

前面给大家讲了《PHP判断判访问设备是手机移动端还是PC电脑端》的实例,但是很多朋友是静态页面使用起来不是太方便,下面361源码就再给大家讲一种方法来判断UA,JS代码判断客户端是手机访问还是PC电脑访问

JS代码判断客户端是手机访问还是PC电脑访问这种方法,可以说是万能的,无论是静态页面还是动态页面,PHP的还是ASP的还是.NET的都是可以很好的实现完美的需求,闲话收底,下面给大家写2种JS的方法,总一个款适合你的!

第一种方法:

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";      document.writeln("您的浏览设备为:");      if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {          alert("移动");     } else {          alert("pc");      }  }

第二种方法:

var browser={      versions:function(){           var u = navigator.userAgent;        var app = navigator.appVersion;           return {//移动终端浏览器版本信息               trident: u.indexOf('Trident') > -1, //IE内核              presto: u.indexOf('Presto') > -1, //opera内核              webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核              gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核              mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端              ios: !!u.match(//(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端              android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器              iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器              iPad: u.indexOf('iPad') > -1, //是否iPad                webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部          };      }(),      language:(navigator.browserLanguage || navigator.language).toLowerCase()  }   if(browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad){  if(/pc/.html/i.test(window.location.href)){        window.location = "phone.html";    }}else if(/phone/.html/i.test(window.location.href)){    window.location = "pc.html";}

总结一下:

上面2种方法都能够判断UA属性,根据自己的需求可以实现不同的跳转什么的。

下面给小白们写个实例,方便小白拿来就用:

下面是361源码网自己使用的一套代码,也是百度的UA判断代码,比较好用。下面是uaredirect.js文件,可以复制下面的直接使用

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

如下图

JS代码判断客户端是手机访问还是PC电脑访问

以上就是JS代码判断客户端是手机访问还是PC电脑访问的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持错新网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表