移动端设备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检测的更多相关文章
- 如何直接在 PC 端获取其它端设备的 UserAgent 信息呢?
如何直接在 PC 端获取其它端设备的 UserAgent 信息呢 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5909615.html 序 希望收 ...
- JS判断PC和移动端设备
1.方法一 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", ...
- 网站访问者UA检测及跳转
/*!* UA检测及跳转*/;(function(){ var whatdevice = {}; var myUA = window.navigator.userAgent.toLowerCase() ...
- JAVA判断是否是移动端设备(手机和平板)访问
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 判断是否为移动端设备访问 * */ public class ...
- YUI的UA检测
YUI.UA是针对javascript的宿主环境检测的一个检测对象,返回的是一系统关于当前宿主的信息 1.对象相关信息列表及userAgent 检测对象o = { ie: 0, //ie Mozill ...
- pytorch实现yolov3(5) 实现端到端的目标检测
torch实现yolov3(1) torch实现yolov3(2) torch实现yolov3(3) torch实现yolov3(4) 前面4篇已经实现了network的forward,并且将netw ...
- 3D-LaneNet:端到端三维多车道检测ICCV2019
3D-LaneNet:端到端三维多车道检测ICCV2019 3D-LaneNet: End-to-End 3D Multiple Lane Detection 论文链接: http://openacc ...
- 带你读AI论文丨LaneNet基于实体分割的端到端车道线检测
摘要:LaneNet是一种端到端的车道线检测方法,包含 LanNet + H-Net 两个网络模型. 本文分享自华为云社区<[论文解读]LaneNet基于实体分割的端到端车道线检测>,作者 ...
- js实现对移动设备的检测
<script type="text/javascript"> if (browserRedirect()) { location.href = 'http:/phon ...
随机推荐
- CoreLocation 下的定位跟踪测速
#import "ViewController.h" #import <CoreLocation/CoreLocation.h> @interface ViewCont ...
- PE文件的执行顺序
当一个PE文件被执行时,PE装载器首先检查DOS MZ header里的PE header的偏移量.如果找到,则直接跳转到PE header的位置. 当PE装载器跳转到PE header后,第二步要做 ...
- 如何给你的ASP.NET页面添加HelpPage
如何给你的ASP.NET页面添加HelpPage 最近写了一些webAPI,所以需要搞一套API的帮助文档,google了一下,发现这是可以自动生成的,以下就是如何自动生成HelpPage的说明. 参 ...
- banner无限轮播
activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayou ...
- 【hibernate】 hibernate的主键策略
今天使用maven生成一个sping+springMVC+hibernate 的项目,报错如下: 错误提示呢:不能解释这个id的生成策略[uuid.string].就是uuid.string这个hib ...
- Css3 提示框
<div class="arrow_box"><span>xxy is a so cool boy</span></div> css ...
- 常用meta标签举例说明
本文是作者从百度百科和其他从网页中搜索到的资料,经综合整理,把常用meta标签列举并示例说明,仅供参考. 1.<meta charset="UTF-8"> --- ch ...
- Python与Hack之Zip文件口令破解
1.需要的库: **import zipfile**import optparse**from threading import Thread(1)zipfile:1.1 zipfile.ZipFil ...
- 【hdu3948-不同回文串的个数】后缀数组
题意:求不同回文串的个数 n<=10^5 题解: 先按照manacher的构造方法改造一遍串,然后跑一遍manacher. 如ababa--> $#a#b#a#b#a#@ 然后跑一遍后缀数 ...
- 使用maven 如何生成源代码的jar包
http://hw1287789687.iteye.com/blog/1943157