最近公司需要做一个统计,关于项目的h5页面是在什么环境下运行(ios客户端,android客户端,浏览器端等),在项目中跑个js脚本,用浏览器的Navigator属性来判断 代码如下
if((/Windows/gi).test(window.navigator.appVersion)){
return 0
}else if((/iPhone/gi).test(window.navigator.appVersion)){
return 1
}else if((/Android/gi).test(window.navigator.appVersion)){
return 2
}else if((/iPad/gi).test(window.navigator.appVersion)){
return 3
}else if((/ Windows Phone/gi).test(window.navigator.appVersion)){
return 4
}else {
return 5
}
这样的好处是简单不需要做过多的判断,兼容性很好,但是这样统计的数据是不怎么准确的,如果是需要精确的统计那么这样式不行的,因为模拟器模拟的环境在这样的判断是识别不出来的,如果需要更加精确的端的判断,那么就需要各个端的配合,比如在ios端可以通过webview的方式做缓存,前端去通过js桥的方式去取缓存的值,用来判断h5的页面在哪个端运行。