js判断客户端是pc端还是移动端

JavaScript027

js判断客户端是pc端还是移动端,第1张

Js判断客户端是否为PC还是手持移动设备

方法一

function IsPC(){ 

    var userAgentInfo = navigator.userAgent

    var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod") 

    var flag = true 

for (var v = 0v

if(userAgentInfo.indexOf(Agents[v]) >0) { flag = falsebreak}

    } 

    return flag 

  }

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {

    //alert(navigator.userAgent) 

    window.location.href ="iPhone.html"

} else if (/(Android)/i.test(navigator.userAgent)) {

    //alert(navigator.userAgent)

    window.location.href ="Android.html"

} else {

    window.location.href ="pc.html"

}

方法二

var browser={

    versions:function(){

          var u = navigator.userAgent, 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应该程序,没有头部与底部

                weixin: u.indexOf('MicroMessenger') >-1, //是否微信

                qq: u.match(/\sQQ/i) == " qq" //是否QQ

            }

        }(),

        language:(navigator.browserLanguage || navigator.language).toLowerCase()

}

  if(browser.versions.mobile || browser.versions.ios || browser.versions.android ||

  browser.versions.iPhone || browser.versions.iPad){ 

 window.location = "http://m.zhaizhainv.com"

  }

方法三: 摘自im- qq

var os = function() {

    var ua = navigator.userAgent,

    isWindowsPhone = /(?:Windows Phone)/.test(ua),

    isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,

    isAndroid = /(?:Android)/.test(ua),

    isFireFox = /(?:Firefox)/.test(ua),

    isChrome = /(?:Chrome|CriOS)/.test(ua),

    isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid &&!/(?:Mobile)/.test(ua)) || (isFireFox &&/(?:Tablet)/.test(ua)),

    isPhone = /(?:iPhone)/.test(ua) &&!isTablet,

    isPc = !isPhone &&!isAndroid &&!isSymbian

    return {

          isTablet: isTablet,

          isPhone: isPhone,

          isAndroid : isAndroid,

          isPc : isPc

    }

}()

使用方法

if(os.isAndroid || os.isPhone){

alert("-----")

}

方法四:

if(/AppleWebKit.*mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){

if(window.location.href.indexOf("?mobile")<0){

try{

if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){

window.location.href="手机页面"

}elseif(/iPad/i.test(navigator.userAgent)){

window.location.href="平板页面"

}else{

window.location.href="其他移动端页面"

            }

}catch(e){}

    }

}

方法五

//平台、设备和操作系统 

varsystem ={

win:false,

mac:false,

xll:false

//检测平台 

varp = navigator.platform

system.win = p.indexOf("Win") ==0

system.mac = p.indexOf("Mac") ==0

system.x11 = (p =="X11") || (p.indexOf("Linux") ==0)

//跳转语句,如果是手机访问就自动跳转到caibaojian.com页面 

if(system.win||system.mac||system.xll){

}else{

window.location.href="http://caibaojian.com"

方法六

functionis_mobile(){

varregex_match =/(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i

varu = navigator.userAgent

if(null== u) {

returntrue

  }

varresult = regex_match.exec(u)

if(null== result) {

returnfalse

}else{

returntrue

  }

}

if(is_mobile()) {

document.location.href='http://caibaojian.com'//修改http://caibaojian.com为你所需跳转目标页地址

}

方法7 百度webapp版

<!---识别手机或电脑的js开始--->

(function(){

varres = GetRequest()

varpar = res['index']

if(par!='gfan'){

varua=navigator.userAgent.toLowerCase()

varcontains=function(a, b){

if(a.indexOf(b)!=-1){returntrue}

        }

//将下面的http://caibaojian.com改成你的wap手机版页面地址 如我的 http://caibaojian.com

vartoMobileVertion =function(){

window.location.href ='http://caibaojian.com/'

        }

if(contains(ua,"ipad")||(contains(ua,"rv:1.2.3.4"))||(contains(ua,"0.0.0.0"))||(contains(ua,"8.0.552.237"))){returnfalse}

if((contains(ua,"android") &&contains(ua,"mobile"))||(contains(ua,"android") &&contains(ua,"mozilla")) ||(contains(ua,"android") &&contains(ua,"opera"))

||contains(ua,"ucweb7")||contains(ua,"iphone")){toMobileVertion()}

    }

})()

functionGetRequest(){

varurl = location.search//获取url中"?"符后的字串

vartheRequest =newObject()

if(url.indexOf("?") !=-1) {

varstr = url.substr(1)

strs = str.split("&")

for(vari =0i <strs.lengthi ++) {

theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1])

      }

  }

returntheRequest

}

思路:根据请求来进行判断用户的客户端,从而进行选择访问方法。

代码及注释如下:

<script type="text/javascript">

    <!--

    //平台、设备和操作系统

    var system = {

        win: false,

        mac: false,

        xll: false,

        ipad:false

    }

    //检测平台

    var p = navigator.platform

    system.win = p.indexOf("Win") == 0

    system.mac = p.indexOf("Mac") == 0

    system.x11 = (p == "X11") || (p.indexOf("Linux") == 0)

    system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false

    //跳转语句,如果是PC访问就自动跳转到所要访问的页面

    if (system.win || system.mac || system.xll||system.ipad) {

        //默认访问电脑端浏览

    } else {

        window.location.href = "手机端浏览的地址"

    }

    -->

</script>

本文实例讲解了js判断当前页面在移动设备还是在PC端中打开的详细代码,分享给大家供大家参考,具体内容如下 var browser = {versions: function () { var u = navigator.userAgent, 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, //是否iPadwebApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 } }(),language: (navigator.browserLanguage navigator.language).toLowerCase() } if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面 var ua = navigator.userAgent.toLowerCase()//获取判断用的对象 if (ua.match(/MicroMessenger/i) == "micromessenger") { //在微信中打开 setInterval(WeixinJSBridge.call('closeWindow'),2000) } if (ua.match(/WeiBo/i) == "weibo") { //在新浪微博客户端打开 } if (ua.match(/QQ/i) == "qq") { //在QQ空间打开 } if (browser.versions.ios) { //是否在IOS浏览器打开 } if(browser.versions.android){ //是否在安卓浏览器打开 } } else { //否则就是PC浏览器打开 window.close() } 代码二:js判断用户的浏览设备是移动设备还是PC 最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的。 下面给出js判断处理代码,以作参考。 <script type="text/javascript"> 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) { document.writeln("phone") } else { document.writeln("pc") } }browserRedirect() </script> 我用电脑上的浏览器,android设备,iphone,ipad均做过测试,此代码可行,各设备判断均正确。 以上就是本文的全部内容,希望对大家的学习有所帮助。