移动端设备类型检测方法
在我们平时做app开发的过程中,经常会遇到安卓和iOS设备不兼容的问题,有的时候就需要应对两种设备分别来做调整,这时就需要获取到设备的类型,在这里我们用到了navigator.userAgent方法。
一、navigator.userAgent语法
userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。
二、navigator还有其它的属性如下:
1.浏览器代号: navigator.appCodeName
2.浏览器名称: navigator.appName
3.浏览器版本: navigator.appVersion
4.启用Cookies: navigator.cookieEnabled
5.硬件平台: navigator.platform
6.用户代理: navigator.userAgent
7.用户代理语言: navigator.language
三、应用事例
与正则表达式一起使用,判定设备类型
if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent){ return "IOS" }
else if(/(Android)/i.test(navigator.userAgent){ return "Android" }
else{ return "unknown }
也可以使用其他判定字符串中是否包含关键字的方法例如:
1. navigator.userAgent.Indexof(iPhone ||iPad ||iPod|| iOS)在一个字符串中查找关键词的索引,如果大于等于0则证明包含
2. navigator.userAgent.match(/(iPhone|iPad|iPod|iOS/),返回的是一个数组,数组的第一项则是匹配到的设备类型结果,第二项是匹配到的关键词索引index属性,如果返回是null则说明不包含这几项设备类型
3. navigator.userAgent.search(/(iPhone|iPad|iPod|iOS/)或者navigator.userAgent.search(iPhone ||iPad ||iPod|| iOS),这个方法结合和以上两种使用方法,参数既可以直接用关键词字符串也可以用正则表达式,返回值都是索引值,判定大于等于0则包含