前端通过js获取手机型号
前段通过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获取手机型号的更多相关文章
- JS获取手机型号和系统
废话不多说,直接上源码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&q ...
- js获取手机型号和手机操作系统版本号
1.js 判断IOS版本号 先来观察 iOS 的 User-Agent 串: iPhone 4.3.2 系统:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 l ...
- 史上最简单,js并获取手机型号
原先获取不了苹果系列的型号,但转换思路,先推断是否是苹果,再用分辨率获取型号 //获取手机型号函数begin function getPhoneType(){ //正则,忽略大写和小写 var pa ...
- android如何获取手机型号和版本号
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ...
- iOS获取手机型号,类似iphone 7这种 含swift和OC
获取手机设备信息,如name.model.version等,但如果想获取具体的手机型号,如iphone5.5s这种,就需要如下这种 swift: func phonetype () -> Str ...
- android 获取手机型号,本机电话号码,SDK版本以及firmwarw版本号(即系统版本号)
Android开发平台中,可通过TelephonyManager 获取本机号码. TelephonyManager phoneMgr=(TelephonyManager)this.getSystemS ...
- iOS获取手机型号,Swift获取手机型号(类似iphone 7这种,检测机型具体型号)
获取手机设备信息,如name.model.version等, 但如果想获取具体的手机型号,如iphone5.5s这种,就需要如下这种(含Swift和OC两种写法) Swift建议添加到extensio ...
- iOS获取手机型号、iOS获取当前app的名称和版本号
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // ap ...
- Android编程获取手机型号,本机电话号码,sdk版本号及firmware版本号号(即系统版本号号)
Android开发平台中,可通过TelephonyManager 获取本机号码. TelephonyManager phoneMgr=(TelephonyManager)this.getSystemS ...
随机推荐
- 小程序 之wx.request和wx.showModal简单封装
一.request封装 request(url, data, successCallBack = function(data) {}, completeCallBack = function(data ...
- httpPostedFile实现WEBAPI文件上传
public void PostUpload() { var httpPostedFile = HttpContext.Current.Request.Files; foreach(string p ...
- SpringBoot缓存技术
一.SpringBoot整合Ehhcache 添加maven依赖 <dependency> <groupId>org.springframework.boot</grou ...
- android DownloadManager: java.lang.IllegalArgumentException: Not a file URI: content://
DownloadManager 使用Uri指定下载路径Bug 使用DownloadManager 下载文件 通常写法: DownloadManager dm = (DownloadManager) g ...
- vue开发环境、正式环境的配置及原理
修改prod.env.js里的内容,修改后的内容如下: 'use strict' module.exports = { NODE_ENV: '"production"', EVN_ ...
- 用html+css+js实现一个无限级树形控件
https://blog.csdn.net/cc_fys/article/details/81284638 树形菜单示例: <!DOCTYPE html> <head> < ...
- leetcode 127. Word Ladder、126. Word Ladder II
127. Word Ladder 这道题使用bfs来解决,每次将满足要求的变换单词加入队列中. wordSet用来记录当前词典中的单词,做一个单词变换生成一个新单词,都需要判断这个单词是否在词典中,不 ...
- JS pc端和移动端共同实现复制到剪贴板功能实现
JS pc端和移动端实现复制到剪贴板功能实现 在网页上复制文本到剪切板,一般是使用JS+Flash结合的方法,网上有很多相关文章介绍.随着 HTML5 技术的发展,Flash 已经在很多场合不适用了, ...
- Android高频单词
Display 显示 Camera 照相机 Bluetooth 蓝牙 Flash Memory 闪存 Audio 音频 Management 管理 SurFace 界面 Media 多媒体 Frame ...
- struts2之Action与JSP相互数据传递
package com.loaderman.crm.action; import com.loaderman.crm.entity.User; import com.loaderman.crm.ser ...