判断客户端类型,Android,iOS,PC

在移动端开发的时候,有的时候我们需要判断客户端是什么类型的,安卓or苹果?

苹果在状态栏目和安卓不太一样。

//判断是否是移动或是web
 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){
      console.log("mobile application")
      window.location = "#";      
}else{
    console.log("web application");
}

我们平时在用的时候可能不需要这么多,就判断一个ios or android 就行了

if(browser.versions.ios){
     console.log("ios");
    _ios.iosHeight();
}
else if(browser.versions.android){
        console.log("andriod");
        _android.addHeight();
    }else{
    console.log("不是移动设备");
}

在不同的客户端执行不同的需求。我们现在做的项目就需要在iOS上加上20的高度

var fullHeight= function(e,b){
    var getH= e,
        selector= $(b),
        $win= $(window),
        fullH,
        containerH;
    // calculate height
    fullH= $win.height();
    containerH= parseInt(fullH-getH);
    //append to selector
    selector.css({
        overflow: 'auto',
        height: containerH+'px'
    });
}

var _ios={
    iosHeight:function(){
        fullHeight(64,'#i');
    }
    
}

这样基本上都可以解决移动端的客户端的判断了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值