navigator.appVersion可以获取系统、设备等信息。所以使用Javascript获取用户的设备信息主要是对字符串的裁剪和拼接操作。
初始打印出来的数据:
正好我使用的红米4手机打印出来的数据顺序跟其他的安卓手机不太一样,对它的数据做了特别的处理。
最终效果如下:
代码:
html部分:
无
JavaScript部分:
// 获取初始信息
var app=navigator.appVersion;
// 根据括号进行分割
var left=app.indexOf('(');
var right=app.indexOf(')');
var str=app.substring(left+1,right);
// console.log(str+'裁剪过后的');
var Str=str.split(";");
// 手机型号--苹果 iPhone
var Mobile_Iphone=Str[0];
// 手机型号--安卓
var Mobile_Android=Str[2];
// 红米手机等特殊型号处理 匹配字符
var res=/Android/;
var reslut=res.test(Mobile_Android);
// 根据设备型号判断设备系统
if(phoneVersion=='iPhone'){
alert('访问设备型号'+Mobile_Iphone+'系统版本'+Str[1].substring(4,19));
}else if(phoneVersion=='Linux'){
if(reslut){
alert('访问设备型号'+Str[4].substring(0,9)+'系统版本'+Str[2]);
}else{
alert('访问设备型号'+Mobile_Android.substring(0,9)+'系统版本'+Str[1]);
}
}else if(phoneVersion=='iPad'){
alert('访问设备'+Str[0]+'系统版本'+Str[1].substring(4,12));
}
经测试,在其他手机如魅族,iphone6S等可以准确获取到设备信息。