移动端设备UA检测

网上找到的都不全,不是漏这个就是漏那个,有的甚至还把桌面的chrome判断为移动浏览器。

于是自己动手整理,这回算是比较全了。以后发现漏掉的立马加上。

if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) 
|| /Android/i.test(navigator.userAgent)
|| /BlackBerry/i.test(navigator.userAgent)
|| /IEMobile/i.test(navigator.userAgent)
|| (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
     if (/iPad/i.test(navigator.userAgent)){
         alert( "iPad平板" );
     } else {
         alert( "其他移动设备" );
     }
} else {
     alert( "非移动设备" );
}

苹果最规矩了,一个判断全搞定。然后就是乱七八糟的安卓阵营,只能根据android标识筛选出大部分。接下来还有黑莓、windows phone,这些在国内的普及率并不高,没有五花八门的设备,判断起来也容易。最后,对于那些个安装各种奇葩浏览器而导致UA不规矩的,就根据常见厂商枚举出来。恩,大致就这样,可以检测出绝大部分移动设备了。

另外,想要区分平板和手机的话,目前只能做到检测出iPad系列。安卓平板碎片化太严重,是个商家贴个牌子就能出平板,分辨率、尺寸大相径庭,还要加上自己UA。对于这些就没招了,要么就只有一款一款的收集整理,然后枚举出来。

http://www.jackyrao.com/archives/484

你可能感兴趣的:(移动端设备UA检测)