通过获取手机浏览器的UA标志后,对UA字符串进行解析,得出手机的各种基本信息。

/** @name Operating System* @desc
Currently  is only to userAgent*/
(function () {if (module.declare === undefined) {throw 'There is no global module.declare method!';}//userAgent regexpvar Exp_USERAGENT = {//browserMSIE : /(msie) ([\w.]+)/,MOZILLA : /(mozilla)(?:.*? rv:([\w.]+)|)/,SAFARI : /(safari)(?:.*version|)[\/]([\d.]+)/,CHROME : /(chrome|crios)[\/]([\w.]+)/,OPERA : /(opera|opr)(?:.*version|)[\/]([\w.]+)/,WEBOS : /(webos|hpwos)[\s\/]([\d.]+)/,DOLFIN : /(dolfin)(?:.*version|)[\/]([\w.]+)/, //SILK : /(silk)(?:.*version|)[\/]([\w.]+)/, //UC : /(uc)browser(?:.*version|)[\/]([\w.]+)/, //TAOBAO : /(tao|taobao)browser(?:.*version|)[\/]([\w.]+)/,LIEBAO : /(lb)browser(?:.*? rv:([\w.]+)|)/,//AMAYA:/(amaya)[\/]([\w.]+)/,//SEAMONKEY:/(seamonkey)[\/]([\w.]+)/,//OMNIWEB:/(omniweb)[\/]v([\w.]+)/,//FLOCK:/(flock)[\/]([\w.]+)/,//EPIPHANY:/(epiphany)[\/]([\w.]+)/,MicroMessenger :/micromessenger/i,////engineWEBKIT : /webkit[\/]([\w.]+)/,GECKO : /gecko[\/]([\w.]+)/, //PRESTO : /presto[\/]([\w.]+)/, //TRIDENT : /trident[\/]([\w.]+)/,//deviceMAC : /(mac os x)\s+([\w_]+)/, //WINNDOWS : /(windows nt)\s+([\w.]+)/, //LINUX : /linux/, ////IOS : /i(?:pad|phone|pod)(?:.*)cpu(?: iphone)? os/,IOS : /(i(?:pad|phone|pod))(?:.*)cpu(?: i(?:pad|phone|pod))? os (\d+(?:[\.|_]\d+){1,})/,ANDROID : /(android)\s+([\d.]+)/,WINDOWSPHONE : /windowsphone/, //IPAD : /(ipad).*os\s([\d_]+)/,IPHONE : /(iphone\sos)\s([\d_]+)/,IPOD : /(ipod)(?:.*)cpu(?: iphone)? os (\d+(?:[\.|_]\d+){1,})/,TOUCHPAD : /touchpad/,BLACKBERRY : /(playbook|blackberry|bb\d+).*version\/([\d.]+)/,RIMTABLET : /rimtablet/, //BADA : /bada/, //CHROMEOS : /cromeos///};//define os modulemodule.declare('os', function (require, exports, module) {function detect(ua) {var os = {},//browserchrome = ua.match(Exp_USERAGENT.CHROME),opera = ua.match(Exp_USERAGENT.OPERA),msie = ua.match(Exp_USERAGENT.MSIE),safari = (ua + ua.replace(Exp_USERAGENT.SAFARI, ' ')).match(Exp_USERAGENT.SAFARI), //modify the jquery bugmozilla = ua.match(Exp_USERAGENT.MOZILLA),webos = ua.match(Exp_USERAGENT.WEBOS),dolphi = ua.match(Exp_USERAGENT.DOLFIN),silk = ua.match(Exp_USERAGENT.SILK),uc = ua.match(Exp_USERAGENT.UC),taobao=ua.match(Exp_USERAGENT.TAOBAO),liebao=ua.match(Exp_USERAGENT.LIEBAO),//enginewebkit = ua.match(Exp_USERAGENT.WEBKIT),gecko = ua.match(Exp_USERAGENT.GECKO),presto = ua.match(Exp_USERAGENT.PRESTO),trident = ua.match(Exp_USERAGENT.TRIDENT),//devicemac = ua.match(Exp_USERAGENT.MAC),windows = ua.match(Exp_USERAGENT.WINNDOWS),linux = ua.match(Exp_USERAGENT.LINUX),chromeos = ua.match(Exp_USERAGENT.CHROMEOS),//padipad = ua.match(Exp_USERAGENT.IPAD),rimtablet = ua.match(Exp_USERAGENT.RIMTABLET),touchpad = webos && ua.match(Exp_USERAGENT.TOUCHPAD),//mobileios = ua.match(Exp_USERAGENT.IOS),ipod = ua.match(Exp_USERAGENT.IPOD),iphone = !ipad && ua.match(Exp_USERAGENT.IPHONE),android = ua.match(Exp_USERAGENT.ANDROID),windowsphone = ua.match(Exp_USERAGENT.WINDOWSPHONE),blackberry = ua.match(Exp_USERAGENT.BLACKBERRY),bada = ua.match(Exp_USERAGENT.BADA);//engineif (webkit)os.webkit = true;if (gecko)os.gecko = true;if (presto)os.presto = true;if (trident)os.trident = true;//deviceos['device'] = {};//if (mac)os.mac = true, os['device']['name'] = 'mac os', os.version = mac[2];if (windows)os.windows = true, os['device']['name'] = 'window', os.version = windows[2];if (linux)os.linux = true, os['device']['name'] = 'linux'; //if (chromeos)os.chromeos = true, os['device']['name'] = 'chromeos', os.version = chromeos[2];//if (ios) os.ios=true;//if (android)os.android = true, os['device']['name'] = 'android', os.version = android[2];if (iphone)os.ios = true, os['device']['name'] = 'iphone',os.version = iphone[2].replace(/_/g, '.'), os.iphone = true;if (ipod)os.ios = true, os['device']['name'] = 'ipod',os.version = ipod[2].replace(/_/g, '.'), os.ipod = true;if (ipad)os.ios = true, os['device']['name'] = 'ipad', os.version = ipad[2].replace(/_/g, '.'), os.ipad = true;if (webos)os.webos = true, os['device']['name'] = 'webos',os.version = webos[2];if (blackberry)os.blackberry = true, os['device']['name'] = 'blackberry', os.version = blackberry[2];if (bada)os.bada = true, os['device']['name'] = 'bada',os.version = ''; //if (rimtablet)os.rimtablet = true, os['device']['name'] = 'rimtablet', os.version = ''; //if (touchpad)os.touchpad = true, os['device']['name'] = 'touchpad',os.version = ''; ////os.device.versionos['device']['version'] = os.version;if (!(android || iphone || ipad || ipod || webos || blackberry || bada || rimtablet || touchpad))os.desktop = true, os.version = '';//browservar match = dolphi || silk || uc || msie || taobao || liebao || opera || chrome || safari || (ua.indexOf('compatible') < 0 && mozilla);//chromematch[1] = match[1] === 'crios' ? 'chrome' : match[1];//taobaomatch[1] = match[1] === 'tao' ? 'taobao' : match[1];//os[match[1]] = true;os['browser'] = match[1];os['version'] = match[2]||'';//majoros['version'] && (os['major'] = parseInt(os['version'],10));//revise//safariif (os.ios && os.webkit && !os.desktop) {try{//in node jsos.safari = (window.canSetSearchEngine || window.TrackEvent) ? true : false;}catch(e){}var v=os['major']||parseInt(os['device-version'],10)||'';v && (os['ios'+v]=true);}//ie 11if(os.trident && os.major >= 11){os.browser='msie';os.msie=true;delete os.mozilla;}//mozilla/firefoxif (os.mozilla) {os.firefox = true;}//operaif(os.browser === 'opr'){os.browser = 'opera';os.opera=os.opr;}//blackberryif(os.blackberry){//delete os.safari;}//MicroMessagerif(Exp_USERAGENT.MicroMessenger.test(ua)){//os.micromessage=true;}//ucvar DOMWindow = DOMWindow || {};if (DOMWindow && DOMWindow.UCNewsJSController) {os.uc = true,os.browser = 'uc';}//try{//orientationos.orientation = (window.orientation === 180 || window.orientation === 0) ? 'portrait' : 'landscape';}catch(e){}//os.device.typeif(os.desktop){os.device['type']='desktop';}else{os.device['type']='mobile';}//return os;};//navigator.userAgent.toLowerCase()return detect(navigator.userAgent.toLowerCase());});
})();

通过JS解析手机浏览器UA标志中的各种设备信息相关推荐

  1. js判断手机浏览器屏幕方向

    /* js判断手机浏览器屏幕方向*/var direction = {__getOrientation: function () {if (window.orientation == 0 || win ...

  2. html+js实现手机浏览器的滑动验证

    前言 前两天发了一篇关于适用于PC浏览器的滑动验证的文章.这两天修改之后,改为了适用于手机浏览器的滑动验证功能. 一.原理 简单介绍一下实现的原理,就是获取一张本地的图片之后,随机截取一个区域,作为需 ...

  3. js关闭手机浏览器_Unity 之 WebGL打开手机摄像头

    有个同学问了一个问题,希望用Unity编译出的WebGL打开摄像头,显示3D模型 在手机浏览器里面运行. 第一反应就是建议他用three.js 之类的JS 库.但是他说Unity相对熟悉点.正好自己之 ...

  4. linux下浏览器如何登录微信,js判断手机浏览器操作系统和微信浏览器的方法

    今天就为大家介绍一下用js判断手机客户端平台及系统平台的方法: //手机端判断各个平台浏览器及操作系统平台 function checkPlatform(){ if(/android/i.test(n ...

  5. 通过HTTP文件服务器-hfs2,使能从手机浏览器访问计算机中指定的文件

    一.工具 网络文件服务器 HFS 2.3 手机浏览器(任意浏览器) 二.步骤 将手机和计算机通过WIFI连接到同一个局域网中: 打开计算机上的网络文件服务器 -设置端口号为8080等,按下面的步骤进行 ...

  6. JS判断手机浏览器是横屏or竖屏

    移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态. 从而根据实际需求而执行相应的程序. 通过添加监听事件onorientation ...

  7. 手机浏览器UA测试(三)

    1.Android自带浏览器的UAProfile实现     1) UI设置     在Android浏览器的地址栏内输入"about:debug",并进入,这时不会有新的网页显示 ...

  8. JS判断手机浏览器,并跳转到手机端网页

    在js代码中插入以下代码片段 <script type="text/javascript">try {var urlhash = window.location.has ...

  9. 判断ua字段中是否含有html5plus,浏览器UA,浏览器标识检测

    User Agent是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA.通俗地讲,UA是一种向访问网站提供你所使用的浏览器类型.操作系统.浏览器内核等信息的标识.通过这个标识 ...

最新文章

  1. css重叠边界,关于css:两个重叠元素上的边界半径; 背景闪耀
  2. Oracle安装ORA-12154和ORA-12169问题的解决
  3. VTK:Filtering之ConstrainedDelaunay2D
  4. 简易 IM 双向通信电脑端 GUI 应用——基于 Netty、WebSocket、JavaFX 、多线程技术等
  5. 项目进度计划甘特图_甘特图做项目进度计划的技巧?
  6. 因为有人说的WZ132
  7. BUPT复试专题—统计字母(2008)
  8. TFS的站点中无法找到Report服务器
  9. python sleep什么意思,Python sleep()
  10. vue--自定义验证指令
  11. CHKJ3000E错误解决
  12. 2016年中国OTT盒子行业市场现状及发展前景分析
  13. 音阶频率对照表_各个音阶的对应频率
  14. Arduino IDE搭建ESP8266开发环境!文件下载过慢解决方法!
  15. 单元测试-Mock Server
  16. 360*640是什么设备的分辨率?
  17. HUSTOJ随笔3-配置文件
  18. 教你使用Spy++查看软件的流氓行径(talimama/Dandelion.exe)
  19. redis缓存服务器介绍与配置
  20. 《修炼——我的职场十年》 摘录

热门文章

  1. python在国内外研究现状_机器人教育_国内外Python课程现状?
  2. google 的高级搜索
  3. 如何利用XGen制作头发,发片-笔记
  4. PAT 乙级 1002 写出这个数
  5. 人脸对齐算法常用评价标准总结
  6. 【PANDA教程】PANDA详细教程笔记
  7. 【Java应用程序开发】【期末复习题】【2022秋】【答案仅供参考】
  8. Python中的各种占位符
  9. C#解析ip.ws.126.net的IP查询地区接口数据(使用正则表达式匹配获取所需数据)
  10. 使用js调用设备摄像头并实现拍照