博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PC&移动平台设备检测库(平台、版本、操作系统、方向)
阅读量:7259 次
发布时间:2019-06-29

本文共 3884 字,大约阅读时间需要 12 分钟。

hot3.png

;(function(){    function device(ua) {        var os = this.os = {},browser = this.browser = {},        webkit = ua.match(/Web[kK]it[\/]{0,1}([\d.]+)/),        android = ua.match(/(Android);?[\s\/]+([\d.]+)?/),        osx = !!ua.match(/\(Macintosh\; Intel /),        ipad = ua.match(/(iPad).*OS\s([\d_]+)/),        ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/),        iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/),        webos = ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),        touchpad = webos && ua.match(/TouchPad/),        kindle = ua.match(/Kindle\/([\d.]+)/),        silk = ua.match(/Silk\/([\d._]+)/),        blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/),        bb10 = ua.match(/(BB10).*Version\/([\d.]+)/),        rimtabletos = ua.match(/(RIM\sTablet\sOS)\s([\d.]+)/),        playbook = ua.match(/PlayBook/),        uc = ua.match(/UCBrowser\/([\w.\s]+)/),        chrome = ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/),        firefox = ua.match(/Firefox\/([\d.]+)/),        ie = ua.match(/MSIE\s([\d.]+)/) || ua.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/),        webview = !chrome && ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),        safari = webview || ua.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/),        orientation = Math.abs(window.orientation)        if (browser.webkit = !!webkit) browser.version = webkit[1]        if (android) os.android = true, os.version = android[2]        if (iphone && !ipod) os.ios = os.iphone = true, os.version = iphone[2].replace(/_/g, '.')        if (ipad) os.ios = os.ipad = true, os.version = ipad[2].replace(/_/g, '.')        if (ipod) os.ios = os.ipod = true, os.version = ipod[3] ? ipod[3].replace(/_/g, '.') : null        if (webos) os.webos = true, os.version = webos[2]        if (touchpad) os.touchpad = true        if (blackberry) os.blackberry = true, os.version = blackberry[2]        if (bb10) os.bb10 = true, os.version = bb10[2]        if (rimtabletos) os.rimtabletos = true, os.version = rimtabletos[2]        if (playbook) browser.playbook = true        if (uc) os.uc = true, os.ucversion = uc[1]        if (kindle) os.kindle = true, os.version = kindle[1]        if (silk) browser.silk = true, browser.version = silk[1]        if (!silk && os.android && ua.match(/Kindle Fire/)) browser.silk = true        if (orientation !== 90) os.protrait = true        if (orientation === 90) os.landscape = true        if (chrome) browser.chrome = true, browser.version = chrome[1]        if (firefox) browser.firefox = true, browser.version = firefox[1]        if (ie) browser.ie = true, browser.version = ie[1]        if (safari && (osx || os.ios)) {browser.safari = true; if (osx) browser.version = safari[1]}        if (webview) browser.webview = true        os.tablet = !!(ipad || playbook || (android && !ua.match(/Mobile/)) ||        (firefox && ua.match(/Tablet/)) || (ie && !ua.match(/Phone/) && ua.match(/Touch/)))        os.phone  = !!(!os.tablet && !os.ipod && (android || iphone || webos || blackberry || bb10 ||        (chrome && ua.match(/Android/)) || (chrome && ua.match(/CriOS\/([\d.]+)/)) ||        (firefox && ua.match(/Mobile/)) || (ie && ua.match(/Touch/))))    }    window.Device = new device(navigator.userAgent)})()// 设备平台Device.os.phoneDevice.os.tablet// 设备系统Device.os.iosDevice.os.androidDevice.os.webosDevice.os.blackberryDevice.os.bb10Device.os.rimtabletos// 设备类型Device.os.iphoneDevice.os.ipadDevice.os.ipodDevice.os.touchpadDevice.os.kindleDevice.os.uc// 浏览器类型Device.browser.chromeDevice.browser.firefoxDevice.browser.safariDevice.browser.webview Device.browser.silkDevice.browser.playbookDevice.browser.ie // 屏幕旋转Device.os.protrait  // 横屏Device.os.landscape // 竖屏// iPhoneDevice.os.phoneDevice.os.iphoneDevice.os.ios// 版本号Device.os.versionDevice.os.ucversionDevice.browser.version

转载于:https://my.oschina.net/u/232595/blog/424120

你可能感兴趣的文章
Redis 安全
查看>>
Hbase调用JavaAPI实现批量导入操作
查看>>
python基础-异常(exception)处理
查看>>
ios虚拟机安装(二)
查看>>
redis 异常排查
查看>>
.NET平台开源项目速览(2)Compare .NET Objects对象比较组件
查看>>
Nginx整合PHP原理
查看>>
备份数据表、还原数据表
查看>>
iOS开发-安全释放
查看>>
nginx的安装与配置小结
查看>>
经验:常见木马和未授权控制软件的关闭 1
查看>>
如何杀掉D状态的进程?[zt]【转】
查看>>
探索 OpenStack 之(7):Neutron 深入探索之 Open vSwitch (OVS) + GRE 之 Neutron节点篇
查看>>
EXT-JS学习系列基础篇:第三篇(转载)作者殷良胜
查看>>
[Android Pro] Android保存图片到系统图库
查看>>
个股实时监控之综述
查看>>
ArcGIS JS 学习笔记3 实现百度风格的BubblePopup
查看>>
拷贝cp scp
查看>>
Eclipse 中Alt+/快捷键失效的解决办法。
查看>>
多target设置实战,自己也这么搞过,这篇写的蛮细的,mark一下吧。
查看>>