当前位置: 首页 > news >正文

判断客户端类型,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');
    }
    
}

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

相关文章:

  • 2015年最新数据库流行排行榜
  • android 调用jni 的简单步骤
  • 做图表统计你需要掌握SQL Server 行转列和列转行
  • Centos7安装Xmind
  • svn的终端使用
  • [KMP求最小循环节][HDU1358][Period]
  • Ajax与json在前后端中的细节解惑
  • SQL Server相关书籍
  • 华为第七届无线编码大赛总结(转)
  • deepinmind(转)
  • NSAttributedString
  • aes加密iOS 实现
  • iOS视频录制,裁剪(输出指定大小)
  • KMP,深入讲解next数组的求解(转载)
  • 初步swift语言学习笔记9(OC与Swift杂)
  • 230. Kth Smallest Element in a BST
  • 5、React组件事件详解
  • conda常用的命令
  • express.js的介绍及使用
  • Git学习与使用心得(1)—— 初始化
  • HTML-表单
  • linux学习笔记
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • React Native移动开发实战-3-实现页面间的数据传递
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 阿里云应用高可用服务公测发布
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 关于使用markdown的方法(引自CSDN教程)
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 前端面试题总结
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 源码安装memcached和php memcache扩展
  • 追踪解析 FutureTask 源码
  • HanLP分词命名实体提取详解
  • 阿里云重庆大学大数据训练营落地分享
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #includecmath
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (3)nginx 配置(nginx.conf)
  • (MATLAB)第五章-矩阵运算
  • (南京观海微电子)——COF介绍
  • (五)IO流之ByteArrayInput/OutputStream
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)Linux+Windows下安装ffmpeg
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .form文件_SSM框架文件上传篇
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .net开发引用程序集提示没有强名称的解决办法
  • .Net面试题4
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net中应用SQL缓存(实例使用)
  • /etc/shadow字段详解
  • @ConditionalOnProperty注解使用说明