WEB这东西,本来就是跨平台的东西,对于不同平台就有不同的浏览器,不同厂家的浏览器又不太一样。
尤其这种比较偏的底层接口。
2.就拿开发Android的WEB浏览器常用的WebView,就本身N个版本,接口改了又改。
你的网页还要跨平台,不管Android,还是WindowsPhone,适应于他们的变化有多复杂,自己要三思。
3.做那种混合型的App来让用户浏览自己的网站,内嵌WebView,通过JS和App交互,获取你需要的IMEI等等信息。
4.单纯Web页面是无法获取IMEI,除非W3C修订JavaScript标准,增加接口,并让浏览器厂商开始支持。
5.目前想获取IMEI,必须是app和Web页面相结合方式。
就如当前有个hbuilder开发工具,DCloud开发的。
6.可以调用手机系统API,原理类似于Java反射技术。
他们封装的比较好。可以直接通过js调用。
7.当然最后发布的不是真正的纯Web页面,是一个app安装包。
这里面的语法不是在任何浏览器都能运行的。
但发布的安装包,内部封装好的浏览器是可以支持相应的js方法。
8.web请求字段的UserAgent 段里只有操作系统版本,浏览器类型,浏览器内核版本这些信息,不会有其他信息。
9.至于ip,只要连接到web服务器,服务器就知道了,mac地址也是。
可以!
1、使用mobile-detect.js
2、html
<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/htmlcharset=UTF-8"/>
<metaname="viewport"
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>JS获取手机型号和系统</title>
</head>
<body>
</body>
<script src="jquery.js"></script>
<script src="mobile-adapt.js"></script>
<script>
//判断数组中是否包含某字符串
Array.prototype.contains=function(needle){
for(iinthis){
if(this[i].indexOf(needle)>0)
returni
}
return-1
}
vardevice_type=navigator.userAgent//获取userAgent信息
document.write(device_type)//打印到页面
varmd=newMobileDetect(device_type)//初始化mobile-detect
varos=md.os()//获取系统
varmodel=""
if(os=="iOS"){//ios系统的处理
os=md.os()+md.version("iPhone")
model=md.mobile()
}elseif(os=="AndroidOS"){//Android系统的处理
os=md.os()+md.version("Android")
varsss=device_type.split("")
vari=sss.contains("Build/")
if(i>-1){
model=sss[i].substring(0,sss[i].indexOf("Build/"))
}
//判断是否是oppoR9s
if(model="OPPOR9s"){
alert('您的手机是OPPOR9s')
}
if(model=="MI6"){
alert('您的手机是小米6')
}
}
alert('111'+model+'2222')//打印系统版本和手机型号
</script>
</html>