前段通过js获取手机型号


需求:

用户登录后记录当前的手机型号并记录

插件:

  1. mobile-detect.js插件地址
  2. mobile-device-js插件地址

使用步骤:

  • 获取UA信息->根据安卓和IOS不同的处理
  • IOS再通过插件mobile-device-js去获取型号
  • 安卓通过解析UA信息去获取build之前的信息得到手机型号
//引入插件
<!--获取手机型号相关js-->
<script type="text/javascript" src="/mobile-detect.js"></script>
<!--配合这个js再去获取苹果手机的型号-->
<script type="text/javascript" src="/iphone-device.js"></script>
//获取userAgent信息
var user_agent = navigator.userAgent;
console.log(user_agent);
//初始化mobile-detect
var md = new MobileDetect(user_agent);
var os = md.os();//获取系统
var newMobile = "";
//ios系统的处理
if(os == "iOS"){
os = md.os() + md.version("iPhone");
ios = md.mobile();
//再通过iphone-device.js获取具体的苹果手机型号
newMobile = MobileDevice.getModels().join(' or ');
if(newMobile == 'unknown'){
newMobile = '';
}
}
//Android系统的处理
else if(os == "AndroidOS"){
os = md.os() + md.version("Android");
var sss = user_agent.split(";");
//判断UA里边有没有Build信息,通过这个拿到安卓的具体机型
var i = sss.contains("Build/");
if (i > -1) {
newMobile = sss[i].substring(0, sss[i].indexOf("Build/"));
}
}
//
//判断数组中是否包含某字符串(安卓机型获取用到)
Array.prototype.contains = function(needle) {
for (i in this) {
if (this[i].indexOf(needle) > 0)
return i;
}
return -1;
}
//写入数据库
if(newMobile){
$.get(
'/saveUserMobile.php',{uid:uid, mobile:newMobile},
function(json){
console.log(json.msg);
},'json'
);
}

总结

  • 通过mobile-detect.js插件获取UA信息
  • 安卓系统里通过Build/前一个信息拿到安卓的机型
  • IOS系统里在通过另一个插件mobile-device-js获取具体机型

前端通过js获取手机型号的更多相关文章

  1. JS获取手机型号和系统

    废话不多说,直接上源码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&q ...

  2. js获取手机型号和手机操作系统版本号

    1.js 判断IOS版本号 先来观察 iOS 的 User-Agent 串: iPhone 4.3.2 系统:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 l ...

  3. 史上最简单,js并获取手机型号

    原先获取不了苹果系列的型号,但转换思路,先推断是否是苹果,再用分辨率获取型号 //获取手机型号函数begin function getPhoneType(){  //正则,忽略大写和小写 var pa ...

  4. android如何获取手机型号和版本号

    public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ...

  5. iOS获取手机型号,类似iphone 7这种 含swift和OC

    获取手机设备信息,如name.model.version等,但如果想获取具体的手机型号,如iphone5.5s这种,就需要如下这种 swift: func phonetype () -> Str ...

  6. android 获取手机型号,本机电话号码,SDK版本以及firmwarw版本号(即系统版本号)

    Android开发平台中,可通过TelephonyManager 获取本机号码. TelephonyManager phoneMgr=(TelephonyManager)this.getSystemS ...

  7. iOS获取手机型号,Swift获取手机型号(类似iphone 7这种,检测机型具体型号)

    获取手机设备信息,如name.model.version等, 但如果想获取具体的手机型号,如iphone5.5s这种,就需要如下这种(含Swift和OC两种写法) Swift建议添加到extensio ...

  8. iOS获取手机型号、iOS获取当前app的名称和版本号

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // ap ...

  9. Android编程获取手机型号,本机电话号码,sdk版本号及firmware版本号号(即系统版本号号)

    Android开发平台中,可通过TelephonyManager 获取本机号码. TelephonyManager phoneMgr=(TelephonyManager)this.getSystemS ...

随机推荐

  1. tez 0.9.0 配置

    官网: https://tez.apache.org/releases/0.9.0/tez-api-javadocs/configs/TezConfiguration.html

  2. 4)抽象方法不能为private,final或者static,为什么?

    抽象方法的最实质的意 义在于被未来的子类覆盖实现掉.它自己是个空方法.private的实质意义在于本类其他方法调用它.你自己是个空方法,别人调用你有什么用?所以 abstract和private在一起 ...

  3. SDK评测

    这个作业属于哪个课程 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2019FZUSEZ/homework/10081 这个作业的目标 每个人发表一篇随笔, ...

  4. BZOJ2716天使玩偶

    不会KD-tree怎么办?CQD硬搞. 建立正常的平面直角坐标系,首先我们只考虑在目标点左下角的点对目标点的贡献,由于左下点的横纵坐标都小于目标点,那么曼哈顿距离就可以化简了,绝对值去掉后,得到$x2 ...

  5. Java核心复习 —— J.U.C 并发工具类

    一.CountDownLatch 文档描述 A synchronization aid that allows one or more threads to wait until* a set of ...

  6. 2018-2019-2 《网络对抗技术》 Exp7 网络欺诈防范 20165222

    1.实践目标 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. 2.实践内容 (1)简单应用SET工具建立冒名网站 (1分) apachectl start开启服务 ser ...

  7. 黑马vue---33、vue-resource 实现 get, post, jsonp请求

    黑马vue---33.vue-resource 实现 get, post, jsonp请求 一.总结 一句话总结: vue-resource使用非常非常非常简单:this.$http.get('htt ...

  8. 【Java】LinkedHashMap

    Java LinkedHashMap 标签(空格分隔):Java source-code 总结 1.LinkedHashMap基于HashMap,实现了按插入顺序.LRU,实现方式主要是继承了Hash ...

  9. React 高阶组件浅析

    高阶组件的这种写法的诞生来自于社区的实践,目的是解决一些交叉问题(Cross-Cutting Concerns).而最早时候 React 官方给出的解决方案是使用 mixin .而 React 也在官 ...

  10. MySQL数据库表的设计和优化(上)

    一.单表设计与优化: (1)设计规范化表,消除数据冗余(以使用正确字段类型最明显):数据库范式是确保数据库结构合理,满足各种查询需要.避免数据库操作异常的数据库设计方式.满足范式要求的表,称为规范化表 ...