ua-parser-js
Advanced tools
Comparing version 0.7.3 to 0.7.4
{ | ||
"name": "ua-parser-js", | ||
"version": "0.7.3", | ||
"version": "0.7.4", | ||
"authors": [ | ||
@@ -5,0 +5,0 @@ "Faisal Salman <fyzlman@gmail.com>" |
{ | ||
"name": "ua-parser-js", | ||
"version": "0.7.3", | ||
"version": "0.7.4", | ||
"description": "Lightweight JavaScript-based user-agent string parser", | ||
@@ -5,0 +5,0 @@ "keywords": ["user-agent", "parser", "browser", "engine", "os", "device", "cpu"], |
/** | ||
* UAParser.js v0.7.3 | ||
* UAParser.js v0.7.4 | ||
* Lightweight JavaScript-based User-Agent string parser | ||
* https://github.com/faisalman/ua-parser-js | ||
* | ||
* | ||
* Copyright © 2012-2014 Faisal Salman <fyzlman@gmail.com> | ||
* Dual licensed under GPLv2 & MIT | ||
*/ | ||
(function(window,undefined){"use strict";var LIBVERSION="0.7.3",EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded";var util={extend:function(regexes,extensions){for(var i in extensions){if("browser cpu device engine os".indexOf(i)!==-1&&extensions[i].length%2===0){regexes[i]=extensions[i].concat(regexes[i])}}return regexes},has:function(str1,str2){if(typeof str1==="string"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}},lowerize:function(str){return str.toLowerCase()}};var mapper={rgx:function(){var result,i=0,j,k,p,q,matches,match,args=arguments;while(i<args.length&&!matches){var regex=args[i],props=args[i+1];if(typeof result===UNDEF_TYPE){result={};for(p in props){q=props[p];if(typeof q===OBJ_TYPE){result[q[0]]=undefined}else{result[q]=undefined}}}j=k=0;while(j<regex.length&&!matches){matches=regex[j++].exec(this.getUA());if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){result[q[0]]=q[1].call(this,match)}else{result[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){result[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{result[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){result[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{result[q]=match?match:undefined}}}}i+=2}return result},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(util.has(map[i][j],str)){return i===UNKNOWN?undefined:i}}}else if(util.has(map[i],str)){return i===UNKNOWN?undefined:i}}return str}};var maps={browser:{oldsafari:{major:{1:["/8","/1","/3"],2:"/4","?":"/"},version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:"NT 6.4",RT:"ARM"}}}};var regexes={browser:[[/(opera\smini)\/((\d+)?[\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i,/(opera).+version\/((\d+)?[\w\.]+)/i,/(opera)[\/\s]+((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR],[/\s(opr)\/((\d+)?[\w\.]+)/i],[[NAME,"Opera"],VERSION,MAJOR],[/(kindle)\/((\d+)?[\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i,/(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i,/(rekonq)((?:\/)[\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i],[NAME,VERSION,MAJOR],[/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i],[[NAME,"IE"],VERSION,MAJOR],[/(yabrowser)\/((\d+)?[\w\.]+)/i],[[NAME,"Yandex"],VERSION,MAJOR],[/(comodo_dragon)\/((\d+)?[\w\.]+)/i],[[NAME,/_/g," "],VERSION,MAJOR],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i,/(uc\s?browser|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR],[/(dolfin)\/((\d+)?[\w\.]+)/i],[[NAME,"Dolphin"],VERSION,MAJOR],[/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],[[NAME,"Chrome"],VERSION,MAJOR],[/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],[VERSION,MAJOR,[NAME,"Mobile Safari"]],[/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],[VERSION,MAJOR,NAME],[/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],[NAME,[MAJOR,mapper.str,maps.browser.oldsafari.major],[VERSION,mapper.str,maps.browser.oldsafari.version]],[/(konqueror)\/((\d+)?[\w\.]+)/i,/(webkit|khtml)\/((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR],[/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],[[NAME,"Netscape"],VERSION,MAJOR],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i,/(mozilla)\/((\d+)?[\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?((\d+)?[\w\.]+)/i,/(links)\s\(((\d+)?[\w\.]+)/i,/(gobrowser)\/?((\d+)?[\w\.]+)*/i,/(ice\s?browser)\/v?((\d+)?[\w\._]+)/i,/(mosaic)[\/\s]((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[ARCHITECTURE,"amd64"]],[/(ia32(?=;))/i],[[ARCHITECTURE,util.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[ARCHITECTURE,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[ARCHITECTURE,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[ARCHITECTURE,/ower/,"",util.lowerize]],[/(sun4\w)[;\)]/i],[[ARCHITECTURE,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[ARCHITECTURE,util.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/applecoremedia\/[\w\.]+ \((ipad)/],[MODEL,[VENDOR,"Apple"],[TYPE,TABLET]],[/(apple\s{0,1}tv)/i],[[MODEL,"Apple TV"],[VENDOR,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i],[MODEL,[VENDOR,"Amazon"],[TYPE,TABLET]],[/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i],[[MODEL,mapper.str,maps.device.amazon.model],[VENDOR,"Amazon"],[TYPE,MOBILE]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[MODEL,VENDOR,[TYPE,MOBILE]],[/\((ip[honed|\s\w*]+);/i],[MODEL,[VENDOR,"Apple"],[TYPE,MOBILE]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola|polytron)[\s_-]?([\w-]+)*/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/\(bb10;\s(\w+)/i],[MODEL,[VENDOR,"BlackBerry"],[TYPE,MOBILE]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7)/i],[MODEL,[VENDOR,"Asus"],[TYPE,TABLET]],[/(sony)\s(tablet\s[ps])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/android.+;\s(shield)\sbuild/i],[MODEL,[VENDOR,"Nvidia"],[TYPE,CONSOLE]],[/(playstation\s[3portablevi]+)/i],[MODEL,[VENDOR,"Sony"],[TYPE,CONSOLE]],[/(sprint\s(\w+))/i],[[VENDOR,mapper.str,maps.device.sprint.vendor],[MODEL,mapper.str,maps.device.sprint.model],[TYPE,MOBILE]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w+)*/i,/(alcatel|geeksphone|huawei|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i],[VENDOR,[MODEL,/_/g," "],[TYPE,MOBILE]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[MODEL,[VENDOR,"Microsoft"],[TYPE,CONSOLE]],[/(kin\.[onetw]{3})/i],[[MODEL,/\./g," "],[VENDOR,"Microsoft"],[TYPE,MOBILE]],[/\s((milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?))[\w\s]+build\//i,/(mot)[\s-]?(\w+)*/i],[[VENDOR,"Motorola"],MODEL,[TYPE,MOBILE]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[MODEL,[VENDOR,"Motorola"],[TYPE,TABLET]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[VENDOR,"Samsung"],MODEL,[TYPE,TABLET]],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-n900))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i,/sec-((sgh\w+))/i],[[VENDOR,"Samsung"],MODEL,[TYPE,MOBILE]],[/(samsung);smarttv/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/\(dtv[\);].+(aquos)/i],[MODEL,[VENDOR,"Sharp"],[TYPE,SMARTTV]],[/sie-(\w+)*/i],[MODEL,[VENDOR,"Siemens"],[TYPE,MOBILE]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]+)*/i],[[VENDOR,"Nokia"],MODEL,[TYPE,MOBILE]],[/android\s3\.[\s\w-;]{10}(a\d{3})/i],[MODEL,[VENDOR,"Acer"],[TYPE,TABLET]],[/android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i],[[VENDOR,"LG"],MODEL,[TYPE,TABLET]],[/(lg) netcast\.tv/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w+)*/i],[MODEL,[VENDOR,"LG"],[TYPE,MOBILE]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[MODEL,[VENDOR,"Lenovo"],[TYPE,TABLET]],[/linux;.+((jolla));/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/((pebble))app\/[\d\.]+\s/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/android.+;\s(glass)\s\d/i],[MODEL,[VENDOR,"Google"],[TYPE,WEARABLE]],[/(mobile|tablet);.+rv\:.+gecko\//i],[[TYPE,util.lowerize],VENDOR,MODEL]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[NAME,VERSION],[/rv\:([\w\.]+).*(gecko)/i],[VERSION,NAME]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[NAME,VERSION],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[NAME,[VERSION,mapper.str,maps.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[NAME,"Windows"],[VERSION,mapper.str,maps.os.windows.version]],[/\((bb)(10);/i],[[NAME,"BlackBerry"],VERSION],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i,/linux;.+(sailfish);/i],[NAME,VERSION],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[NAME,"Symbian"],VERSION],[/\((series40);/i],[NAME],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[NAME,"Firefox OS"],VERSION],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[NAME,VERSION],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[NAME,"Chromium OS"],VERSION],[/(sunos)\s?([\w\.]+\d)*/i],[[NAME,"Solaris"],VERSION],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[NAME,VERSION],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[NAME,"iOS"],[VERSION,/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,/(macintosh|mac(?=_powerpc)\s)/i],[[NAME,"Mac OS"],[VERSION,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i,/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]+)*/i],[NAME,VERSION]]};var UAParser=function(uastring,extensions){if(!(this instanceof UAParser)){return new UAParser(uastring,extensions).getResult()}var ua=uastring||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:EMPTY);var rgxmap=extensions?util.extend(regexes,extensions):regexes;this.getBrowser=function(){return mapper.rgx.apply(this,rgxmap.browser)};this.getCPU=function(){return mapper.rgx.apply(this,rgxmap.cpu)};this.getDevice=function(){return mapper.rgx.apply(this,rgxmap.device)};this.getEngine=function(){return mapper.rgx.apply(this,rgxmap.engine)};this.getOS=function(){return mapper.rgx.apply(this,rgxmap.os)};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return ua};this.setUA=function(uastring){ua=uastring;return this};this.setUA(ua)};UAParser.VERSION=LIBVERSION;UAParser.BROWSER={NAME:NAME,MAJOR:MAJOR,VERSION:VERSION};UAParser.CPU={ARCHITECTURE:ARCHITECTURE};UAParser.DEVICE={MODEL:MODEL,VENDOR:VENDOR,TYPE:TYPE,CONSOLE:CONSOLE,MOBILE:MOBILE,SMARTTV:SMARTTV,TABLET:TABLET,WEARABLE:WEARABLE,EMBEDDED:EMBEDDED};UAParser.ENGINE={NAME:NAME,VERSION:VERSION};UAParser.OS={NAME:NAME,VERSION:VERSION};if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{window.UAParser=UAParser;if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}var $=window.jQuery||window.Zepto;if(typeof $!==UNDEF_TYPE){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(uastring){parser.setUA(uastring);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}}})(this); | ||
(function(window,undefined){"use strict";var LIBVERSION="0.7.4",EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded";var util={extend:function(regexes,extensions){for(var i in extensions){if("browser cpu device engine os".indexOf(i)!==-1&&extensions[i].length%2===0){regexes[i]=extensions[i].concat(regexes[i])}}return regexes},has:function(str1,str2){if(typeof str1==="string"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}else{return false}},lowerize:function(str){return str.toLowerCase()},major:function(version){return typeof version===STR_TYPE?version.split(".")[0]:undefined}};var mapper={rgx:function(){var result,i=0,j,k,p,q,matches,match,args=arguments;while(i<args.length&&!matches){var regex=args[i],props=args[i+1];if(typeof result===UNDEF_TYPE){result={};for(p in props){q=props[p];if(typeof q===OBJ_TYPE){result[q[0]]=undefined}else{result[q]=undefined}}}j=k=0;while(j<regex.length&&!matches){matches=regex[j++].exec(this.getUA());if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){result[q[0]]=q[1].call(this,match)}else{result[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){result[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{result[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){result[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{result[q]=match?match:undefined}}}}i+=2}return result},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(util.has(map[i][j],str)){return i===UNKNOWN?undefined:i}}}else if(util.has(map[i],str)){return i===UNKNOWN?undefined:i}}return str}};var maps={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}};var regexes={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[NAME,VERSION],[/\s(opr)\/([\w\.]+)/i],[[NAME,"Opera"],VERSION],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi)\/([\w\.-]+)/i],[NAME,VERSION],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[NAME,"IE"],VERSION],[/(yabrowser)\/([\w\.]+)/i],[[NAME,"Yandex"],VERSION],[/(comodo_dragon)\/([\w\.]+)/i],[[NAME,/_/g," "],VERSION],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i,/(uc\s?browser|qqbrowser)[\/\s]?([\w\.]+)/i],[NAME,VERSION],[/(dolfin)\/([\w\.]+)/i],[[NAME,"Dolphin"],VERSION],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[NAME,"Chrome"],VERSION],[/XiaoMi\/MiuiBrowser\/([\w\.]+)/i],[VERSION,[NAME,"MIUI Browser"]],[/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)/i],[VERSION,[NAME,"Android Browser"]],[/FBAV\/((\d+)?[\w\.]+);/i],[VERSION,MAJOR,[NAME,"Facebook"]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[VERSION,[NAME,"Mobile Safari"]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[VERSION,NAME],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[NAME,[VERSION,mapper.str,maps.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[NAME,VERSION],[/(navigator|netscape)\/([\w\.-]+)/i],[[NAME,"Netscape"],VERSION],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i,/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]+)*/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[NAME,VERSION]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[ARCHITECTURE,"amd64"]],[/(ia32(?=;))/i],[[ARCHITECTURE,util.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[ARCHITECTURE,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[ARCHITECTURE,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[ARCHITECTURE,/ower/,"",util.lowerize]],[/(sun4\w)[;\)]/i],[[ARCHITECTURE,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[ARCHITECTURE,util.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/applecoremedia\/[\w\.]+ \((ipad)/],[MODEL,[VENDOR,"Apple"],[TYPE,TABLET]],[/(apple\s{0,1}tv)/i],[[MODEL,"Apple TV"],[VENDOR,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i],[MODEL,[VENDOR,"Amazon"],[TYPE,TABLET]],[/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i],[[MODEL,mapper.str,maps.device.amazon.model],[VENDOR,"Amazon"],[TYPE,MOBILE]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[MODEL,VENDOR,[TYPE,MOBILE]],[/\((ip[honed|\s\w*]+);/i],[MODEL,[VENDOR,"Apple"],[TYPE,MOBILE]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola|polytron)[\s_-]?([\w-]+)*/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/\(bb10;\s(\w+)/i],[MODEL,[VENDOR,"BlackBerry"],[TYPE,MOBILE]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7)/i],[MODEL,[VENDOR,"Asus"],[TYPE,TABLET]],[/(sony)\s(tablet\s[ps])\sbuild\//i,/(sony)?(?:sgp.+)\sbuild\//i],[[VENDOR,"Sony"],[MODEL,"Xperia Tablet"],[TYPE,TABLET]],[/(?:sony)?(?:(?:(?:c|d)\d{4})|(?:so[-l].+))\sbuild\//i],[[VENDOR,"Sony"],[MODEL,"Xperia Phone"],[TYPE,MOBILE]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/android.+;\s(shield)\sbuild/i],[MODEL,[VENDOR,"Nvidia"],[TYPE,CONSOLE]],[/(playstation\s[3portablevi]+)/i],[MODEL,[VENDOR,"Sony"],[TYPE,CONSOLE]],[/(sprint\s(\w+))/i],[[VENDOR,mapper.str,maps.device.sprint.vendor],[MODEL,mapper.str,maps.device.sprint.model],[TYPE,MOBILE]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w+)*/i,/(alcatel|geeksphone|huawei|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i],[VENDOR,[MODEL,/_/g," "],[TYPE,MOBILE]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[MODEL,[VENDOR,"Microsoft"],[TYPE,CONSOLE]],[/(kin\.[onetw]{3})/i],[[MODEL,/\./g," "],[VENDOR,"Microsoft"],[TYPE,MOBILE]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?)[\w\s]+build\//i,/mot[\s-]?(\w+)*/i,/(XT\d{3,4}) build\//i],[MODEL,[VENDOR,"Motorola"],[TYPE,MOBILE]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[MODEL,[VENDOR,"Motorola"],[TYPE,TABLET]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[VENDOR,"Samsung"],MODEL,[TYPE,TABLET]],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-n900))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i,/sec-((sgh\w+))/i],[[VENDOR,"Samsung"],MODEL,[TYPE,MOBILE]],[/(samsung);smarttv/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/\(dtv[\);].+(aquos)/i],[MODEL,[VENDOR,"Sharp"],[TYPE,SMARTTV]],[/sie-(\w+)*/i],[MODEL,[VENDOR,"Siemens"],[TYPE,MOBILE]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]+)*/i],[[VENDOR,"Nokia"],MODEL,[TYPE,MOBILE]],[/android\s3\.[\s\w-;]{10}(a\d{3})/i],[MODEL,[VENDOR,"Acer"],[TYPE,TABLET]],[/android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i],[[VENDOR,"LG"],MODEL,[TYPE,TABLET]],[/(lg) netcast\.tv/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/(nexus\s[45])/i,/lg[e;\s\/-]+(\w+)*/i],[MODEL,[VENDOR,"LG"],[TYPE,MOBILE]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[MODEL,[VENDOR,"Lenovo"],[TYPE,TABLET]],[/linux;.+((jolla));/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/((pebble))app\/[\d\.]+\s/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/android.+;\s(glass)\s\d/i],[MODEL,[VENDOR,"Google"],[TYPE,WEARABLE]],[/android.+(\w+)\s+build\/hm\1/i,/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i,/android.+(mi[\s\-_]*(?:one|one[\s_]plus)?[\s_]*(?:\d\w)?)\s+build/i],[[MODEL,/_/g," "],[VENDOR,"Xiaomi"],[TYPE,MOBILE]],[/(mobile|tablet);.+rv\:.+gecko\//i],[[TYPE,util.lowerize],VENDOR,MODEL]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[NAME,VERSION],[/rv\:([\w\.]+).*(gecko)/i],[VERSION,NAME]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[NAME,VERSION],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[NAME,[VERSION,mapper.str,maps.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[NAME,"Windows"],[VERSION,mapper.str,maps.os.windows.version]],[/\((bb)(10);/i],[[NAME,"BlackBerry"],VERSION],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i,/linux;.+(sailfish);/i],[NAME,VERSION],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[NAME,"Symbian"],VERSION],[/\((series40);/i],[NAME],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[NAME,"Firefox OS"],VERSION],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[NAME,VERSION],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[NAME,"Chromium OS"],VERSION],[/(sunos)\s?([\w\.]+\d)*/i],[[NAME,"Solaris"],VERSION],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[NAME,VERSION],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[NAME,"iOS"],[VERSION,/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,/(macintosh|mac(?=_powerpc)\s)/i],[[NAME,"Mac OS"],[VERSION,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i,/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]+)*/i],[NAME,VERSION]]};var UAParser=function(uastring,extensions){if(!(this instanceof UAParser)){return new UAParser(uastring,extensions).getResult()}var ua=uastring||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:EMPTY);var rgxmap=extensions?util.extend(regexes,extensions):regexes;this.getBrowser=function(){var browser=mapper.rgx.apply(this,rgxmap.browser);browser.major=util.major(browser.version);return browser};this.getCPU=function(){return mapper.rgx.apply(this,rgxmap.cpu)};this.getDevice=function(){return mapper.rgx.apply(this,rgxmap.device)};this.getEngine=function(){return mapper.rgx.apply(this,rgxmap.engine)};this.getOS=function(){return mapper.rgx.apply(this,rgxmap.os)};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return ua};this.setUA=function(uastring){ua=uastring;return this};this.setUA(ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER={NAME:NAME,MAJOR:MAJOR,VERSION:VERSION};UAParser.CPU={ARCHITECTURE:ARCHITECTURE};UAParser.DEVICE={MODEL:MODEL,VENDOR:VENDOR,TYPE:TYPE,CONSOLE:CONSOLE,MOBILE:MOBILE,SMARTTV:SMARTTV,TABLET:TABLET,WEARABLE:WEARABLE,EMBEDDED:EMBEDDED};UAParser.ENGINE={NAME:NAME,VERSION:VERSION};UAParser.OS={NAME:NAME,VERSION:VERSION};if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{window.UAParser=UAParser;if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}var $=window.jQuery||window.Zepto;if(typeof $!==UNDEF_TYPE){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(uastring){parser.setUA(uastring);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}}})(this); |
{ | ||
"title": "UAParser.js", | ||
"name": "ua-parser-js", | ||
"version": "0.7.3", | ||
"version": "0.7.4", | ||
"author": "Faisal Salman <fyzlman@gmail.com> (http://faisalman.com)", | ||
@@ -6,0 +6,0 @@ "description": "Lightweight JavaScript-based user-agent string parser", |
@@ -24,10 +24,10 @@ # UAParser.js | ||
# Possible 'browser.name': | ||
Amaya, Arora, Avant, Baidu, Blazer, Bolt, Camino, Chimera, Chrome, Chromium, | ||
Comodo Dragon, Conkeror, Dillo, Dolphin, Doris, Epiphany, Fennec, Firebird, | ||
Amaya, Android Browser, Arora, Avant, Baidu, Blazer, Bolt, Camino, Chimera, Chrome, | ||
Chromium, Comodo Dragon, Conkeror, Dillo, Dolphin, Doris, Epiphany, Fennec, Firebird, | ||
Firefox, Flock, GoBrowser, iCab, ICE Browser, IceApe, IceCat, IceDragon, | ||
Iceweasel, IE [Mobile], Iron, Jasmine, K-Meleon, Konqueror, Kindle, Links, | ||
Lunascape, Lynx, Maemo, Maxthon, Midori, Minimo, [Mobile] Safari, Mosaic, Mozilla, | ||
Netfront, Netscape, NetSurf, Nokia, OmniWeb, Opera [Mini/Mobi/Tablet], Phoenix, | ||
Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, SlimBrowser, Swiftfox, | ||
Tizen, UCBrowser, w3m, Yandex | ||
Lunascape, Lynx, Maemo, Maxthon, Midori, Minimo, MIUI Browser, [Mobile] Safari, | ||
Mosaic, Mozilla, Netfront, Netscape, NetSurf, Nokia, OmniWeb, Opera [Mini/Mobi/Tablet], | ||
Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, SlimBrowser, Swiftfox, | ||
Tizen, UCBrowser, Vivaldi, w3m, Yandex | ||
@@ -34,0 +34,0 @@ # 'browser.version' & 'browser.major' determined dynamically |
/** | ||
* UAParser.js v0.7.3 | ||
* UAParser.js v0.7.4 | ||
* Lightweight JavaScript-based User-Agent string parser | ||
* https://github.com/faisalman/ua-parser-js | ||
* | ||
* | ||
* Copyright © 2012-2014 Faisal Salman <fyzlman@gmail.com> | ||
@@ -19,3 +19,3 @@ * Dual licensed under GPLv2 & MIT | ||
var LIBVERSION = '0.7.3', | ||
var LIBVERSION = '0.7.4', | ||
EMPTY = '', | ||
@@ -26,2 +26,3 @@ UNKNOWN = '?', | ||
OBJ_TYPE = 'object', | ||
STR_TYPE = 'string', | ||
MAJOR = 'major', | ||
@@ -59,2 +60,4 @@ MODEL = 'model', | ||
return str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1; | ||
} else { | ||
return false; | ||
} | ||
@@ -64,2 +67,5 @@ }, | ||
return str.toLowerCase(); | ||
}, | ||
major : function (version) { | ||
return typeof(version) === STR_TYPE ? version.split(".")[0] : undefined; | ||
} | ||
@@ -168,7 +174,2 @@ }; | ||
oldsafari : { | ||
major : { | ||
'1' : ['/8', '/1', '/3'], | ||
'2' : '/4', | ||
'?' : '/' | ||
}, | ||
version : { | ||
@@ -216,3 +217,3 @@ '1.0' : '/8', | ||
'8.1' : 'NT 6.3', | ||
'10' : 'NT 6.4', | ||
'10' : ['NT 6.4', 'NT 10.0'], | ||
'RT' : 'ARM' | ||
@@ -235,80 +236,89 @@ } | ||
// Presto based | ||
/(opera\smini)\/((\d+)?[\w\.-]+)/i, // Opera Mini | ||
/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i, // Opera Mobi/Tablet | ||
/(opera).+version\/((\d+)?[\w\.]+)/i, // Opera > 9.80 | ||
/(opera)[\/\s]+((\d+)?[\w\.]+)/i // Opera < 9.80 | ||
/(opera\smini)\/([\w\.-]+)/i, // Opera Mini | ||
/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i, // Opera Mobi/Tablet | ||
/(opera).+version\/([\w\.]+)/i, // Opera > 9.80 | ||
/(opera)[\/\s]+([\w\.]+)/i // Opera < 9.80 | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/\s(opr)\/((\d+)?[\w\.]+)/i // Opera Webkit | ||
], [[NAME, 'Opera'], VERSION, MAJOR], [ | ||
/\s(opr)\/([\w\.]+)/i // Opera Webkit | ||
], [[NAME, 'Opera'], VERSION], [ | ||
// Mixed | ||
/(kindle)\/((\d+)?[\w\.]+)/i, // Kindle | ||
/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i, | ||
/(kindle)\/([\w\.]+)/i, // Kindle | ||
/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i, | ||
// Lunascape/Maxthon/Netfront/Jasmine/Blazer | ||
// Trident based | ||
/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i, | ||
/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i, | ||
// Avant/IEMobile/SlimBrowser/Baidu | ||
/(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i, // Internet Explorer | ||
/(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer | ||
// Webkit/KHTML based | ||
/(rekonq)((?:\/)[\w\.]+)*/i, // Rekonq | ||
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i | ||
/(rekonq)\/([\w\.]+)*/i, // Rekonq | ||
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi)\/([\w\.-]+)/i | ||
// Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i // IE11 | ||
], [[NAME, 'IE'], VERSION, MAJOR], [ | ||
/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i // IE11 | ||
], [[NAME, 'IE'], VERSION], [ | ||
/(yabrowser)\/((\d+)?[\w\.]+)/i // Yandex | ||
], [[NAME, 'Yandex'], VERSION, MAJOR], [ | ||
/(yabrowser)\/([\w\.]+)/i // Yandex | ||
], [[NAME, 'Yandex'], VERSION], [ | ||
/(comodo_dragon)\/((\d+)?[\w\.]+)/i // Comodo Dragon | ||
], [[NAME, /_/g, ' '], VERSION, MAJOR], [ | ||
/(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon | ||
], [[NAME, /_/g, ' '], VERSION], [ | ||
/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i, | ||
/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i, | ||
// Chrome/OmniWeb/Arora/Tizen/Nokia | ||
/(uc\s?browser|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i | ||
//UCBrowser/QQBrowser | ||
], [NAME, VERSION, MAJOR], [ | ||
/(uc\s?browser|qqbrowser)[\/\s]?([\w\.]+)/i | ||
// UCBrowser/QQBrowser | ||
], [NAME, VERSION], [ | ||
/(dolfin)\/((\d+)?[\w\.]+)/i // Dolphin | ||
], [[NAME, 'Dolphin'], VERSION, MAJOR], [ | ||
/(dolfin)\/([\w\.]+)/i // Dolphin | ||
], [[NAME, 'Dolphin'], VERSION], [ | ||
/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i // Chrome for Android/iOS | ||
], [[NAME, 'Chrome'], VERSION, MAJOR], [ | ||
/((?:android.+)crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS | ||
], [[NAME, 'Chrome'], VERSION], [ | ||
/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i // Mobile Safari | ||
], [VERSION, MAJOR, [NAME, 'Mobile Safari']], [ | ||
/XiaoMi\/MiuiBrowser\/([\w\.]+)/i // MIUI Browser | ||
], [VERSION, [NAME, 'MIUI Browser']], [ | ||
/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i // Safari & Safari Mobile | ||
], [VERSION, MAJOR, NAME], [ | ||
/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)/i // Android Browser | ||
], [VERSION, [NAME, 'Android Browser']], [ | ||
/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i // Safari < 3.0 | ||
], [NAME, [MAJOR, mapper.str, maps.browser.oldsafari.major], [VERSION, mapper.str, maps.browser.oldsafari.version]], [ | ||
/FBAV\/((\d+)?[\w\.]+);/i // Facebook App for iOS | ||
], [VERSION, MAJOR, [NAME, 'Facebook']], [ | ||
/(konqueror)\/((\d+)?[\w\.]+)/i, // Konqueror | ||
/(webkit|khtml)\/((\d+)?[\w\.]+)/i | ||
], [NAME, VERSION, MAJOR], [ | ||
/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i // Mobile Safari | ||
], [VERSION, [NAME, 'Mobile Safari']], [ | ||
/version\/([\w\.]+).+?(mobile\s?safari|safari)/i // Safari & Safari Mobile | ||
], [VERSION, NAME], [ | ||
/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i // Safari < 3.0 | ||
], [NAME, [VERSION, mapper.str, maps.browser.oldsafari.version]], [ | ||
/(konqueror)\/([\w\.]+)/i, // Konqueror | ||
/(webkit|khtml)\/([\w\.]+)/i | ||
], [NAME, VERSION], [ | ||
// Gecko based | ||
/(navigator|netscape)\/((\d+)?[\w\.-]+)/i // Netscape | ||
], [[NAME, 'Netscape'], VERSION, MAJOR], [ | ||
/(navigator|netscape)\/([\w\.-]+)/i // Netscape | ||
], [[NAME, 'Netscape'], VERSION], [ | ||
/(swiftfox)/i, // Swiftfox | ||
/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i, | ||
/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i, | ||
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror | ||
/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i, | ||
/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i, | ||
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix | ||
/(mozilla)\/((\d+)?[\w\.]+).+rv\:.+gecko\/\d+/i, // Mozilla | ||
/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i, // Mozilla | ||
// Other | ||
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?((\d+)?[\w\.]+)/i, | ||
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?([\w\.]+)/i, | ||
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf | ||
/(links)\s\(((\d+)?[\w\.]+)/i, // Links | ||
/(gobrowser)\/?((\d+)?[\w\.]+)*/i, // GoBrowser | ||
/(ice\s?browser)\/v?((\d+)?[\w\._]+)/i, // ICE Browser | ||
/(mosaic)[\/\s]((\d+)?[\w\.]+)/i // Mosaic | ||
], [NAME, VERSION, MAJOR] | ||
/(links)\s\(([\w\.]+)/i, // Links | ||
/(gobrowser)\/?([\w\.]+)*/i, // GoBrowser | ||
/(ice\s?browser)\/v?([\w\._]+)/i, // ICE Browser | ||
/(mosaic)[\/\s]([\w\.]+)/i // Mosaic | ||
], [NAME, VERSION] | ||
@@ -323,3 +333,3 @@ /* ///////////////////// | ||
/(coremedia) v((\d+)[\w\._]+)/i | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
@@ -330,3 +340,3 @@ /(aqualung|lyssna|bsplayer)\/((\d+)?[\w\.-]+)/i // Aqualung/Lyssna/BSPlayer | ||
/(ares|ossproxy)\s((\d+)[\w\.-]+)/i // Ares/OSSProxy | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
@@ -339,8 +349,8 @@ /(audacious|audimusicstream|amarok|bass|core|dalvik|gnomemplayer|music on console|nsplayer|psp-internetradioplayer|videos)\/((\d+)[\w\.-]+)/i, | ||
/player\/(nexplayer|lg player)\s((\d+)[\w\.-]+)/i // NexPlayer/LG Player | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(nexplayer)\s((\d+)[\w\.-]+)/i // Nexplayer | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(flrp)\/((\d+)[\w\.-]+)/i // Flip Player | ||
], [[NAME, 'Flip Player'], VERSION, MAJOR], [ | ||
], [[NAME, 'Flip Player'], VERSION], [ | ||
@@ -353,3 +363,3 @@ /(fstream|nativehost|queryseekspider|ia-archiver|facebookexternalhit)/i | ||
// Gstreamer | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
@@ -360,6 +370,6 @@ /(htc streaming player)\s[\w_]+\s\/\s((\d+)[\d\.]+)/i, // HTC Streaming Player | ||
/(lavf)((\d+)[\d\.]+)/i // Lavf (FFMPEG) | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(htc_one_s)\/((\d+)[\d\.]+)/i // HTC One S | ||
], [[NAME, /_/g, ' '], VERSION, MAJOR], [ | ||
], [[NAME, /_/g, ' '], VERSION], [ | ||
@@ -371,3 +381,3 @@ /(mplayer)(?:\s|\/)(?:(?:sherpya-){0,1}svn)(?:-|\s)(r\d+(?:-\d+[\w\.-]+){0,1})/i | ||
/(mplayer)(?:\s|\/|[unkow-]+)((\d+)[\w\.-]+)/i // MPlayer | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
@@ -380,9 +390,9 @@ /(mplayer)/i, // MPlayer (no other info) | ||
/(nero (?:home|scout))\/((\d+)[\w\.-]+)/i // Nero Home/Nero Scout | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(nokia\d+)\/((\d+)[\w\.-]+)/i // Nokia | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/\s(songbird)\/((\d+)[\w\.-]+)/i // Songbird/Philips-Songbird | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
@@ -392,3 +402,3 @@ /(winamp)3 version ((\d+)[\w\.-]+)/i, // Winamp | ||
/(winamp)mpeg\/((\d+)[\w\.-]+)/i | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
@@ -402,6 +412,6 @@ /(ocms-bot|tapinradio|tunein radio|unknown|winamp|inlight radio)/i // OCMS-bot/tap in radio/tunein/unknown/winamp (no other info) | ||
// SoundTap/Totem/Stagefright/Streamium | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(smp)((\d+)[\d\.]+)/i // SMP | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
@@ -413,18 +423,18 @@ /(vlc) media player - version ((\d+)[\w\.]+)/i, // VLC Videolan | ||
/(itunes)\/((\d+)[\d\.]+)/i // iTunes | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(wmplayer)\/((\d+)[\w\.-]+)/i, // Windows Media Player | ||
/(windows-media-player)\/((\d+)[\w\.-]+)/i | ||
], [[NAME, /-/g, ' '], VERSION, MAJOR], [ | ||
], [[NAME, /-/g, ' '], VERSION], [ | ||
/windows\/((\d+)[\w\.-]+) upnp\/[\d\.]+ dlnadoc\/[\d\.]+ (home media server)/i | ||
// Windows Media Server | ||
], [VERSION, MAJOR, [NAME, 'Windows']], [ | ||
], [VERSION, [NAME, 'Windows']], [ | ||
/(com\.riseupradioalarm)\/((\d+)[\d\.]*)/i // RiseUP Radio Alarm | ||
], [NAME, VERSION, MAJOR], [ | ||
], [NAME, VERSION], [ | ||
/(rad.io)\s((\d+)[\d\.]+)/i, // Rad.io | ||
/(radio.(?:de|at|fr))\s((\d+)[\d\.]+)/i | ||
], [[NAME, 'rad.io'], VERSION, MAJOR] | ||
], [[NAME, 'rad.io'], VERSION] | ||
@@ -503,4 +513,7 @@ ////////////////////// | ||
/(sony)\s(tablet\s[ps])/i // Sony Tablets | ||
], [VENDOR, MODEL, [TYPE, TABLET]], [ | ||
/(sony)\s(tablet\s[ps])\sbuild\//i, // Sony | ||
/(sony)?(?:sgp.+)\sbuild\//i | ||
], [[VENDOR, 'Sony'], [MODEL, 'Xperia Tablet'], [TYPE, TABLET]], [ | ||
/(?:sony)?(?:(?:(?:c|d)\d{4})|(?:so[-l].+))\sbuild\//i | ||
], [[VENDOR, 'Sony'], [MODEL, 'Xperia Phone'], [TYPE, MOBILE]], [ | ||
@@ -535,5 +548,6 @@ /\s(ouya)\s/i, // Ouya | ||
// Motorola | ||
/\s((milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?))[\w\s]+build\//i, | ||
/(mot)[\s-]?(\w+)*/i | ||
], [[VENDOR, 'Motorola'], MODEL, [TYPE, MOBILE]], [ | ||
/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?)[\w\s]+build\//i, | ||
/mot[\s-]?(\w+)*/i, | ||
/(XT\d{3,4}) build\//i | ||
], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [ | ||
/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i | ||
@@ -551,2 +565,3 @@ ], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [ | ||
], [VENDOR, MODEL, [TYPE, SMARTTV]], [ | ||
/\(dtv[\);].+(aquos)/i // Sharp | ||
@@ -571,17 +586,84 @@ ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [ | ||
], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [ | ||
/android.+(ideatab[a-z0-9\-\s]+)/i // Lenovo | ||
], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [ | ||
/linux;.+((jolla));/i // Jolla | ||
], [VENDOR, MODEL, [TYPE, MOBILE]], [ | ||
/((pebble))app\/[\d\.]+\s/i // Pebble | ||
], [VENDOR, MODEL, [TYPE, WEARABLE]], [ | ||
/android.+;\s(glass)\s\d/i // Google Glass | ||
], [MODEL, [VENDOR, 'Google'], [TYPE, WEARABLE]], [ | ||
/android.+(\w+)\s+build\/hm\1/i, // Xiaomi Hongmi 'numeric' models | ||
/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i, // Xiaomi Hongmi | ||
/android.+(mi[\s\-_]*(?:one|one[\s_]plus)?[\s_]*(?:\d\w)?)\s+build/i // Xiaomi Mi | ||
], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [ | ||
/(mobile|tablet);.+rv\:.+gecko\//i // Unidentifiable | ||
], [[TYPE, util.lowerize], VENDOR, MODEL] | ||
/*////////////////////////// | ||
// TODO: move to string map | ||
//////////////////////////// | ||
/(C6603)/i // Sony Xperia Z C6603 | ||
], [[MODEL, 'Xperia Z C6603'], [VENDOR, 'Sony'], [TYPE, MOBILE]], [ | ||
/(C6903)/i // Sony Xperia Z 1 | ||
], [[MODEL, 'Xperia Z 1'], [VENDOR, 'Sony'], [TYPE, MOBILE]], [ | ||
/(SM-G900[F|H])/i // Samsung Galaxy S5 | ||
], [[MODEL, 'Galaxy S5'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ | ||
/(SM-G7102)/i // Samsung Galaxy Grand 2 | ||
], [[MODEL, 'Galaxy Grand 2'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ | ||
/(SM-G530H)/i // Samsung Galaxy Grand Prime | ||
], [[MODEL, 'Galaxy Grand Prime'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ | ||
/(SM-G313HZ)/i // Samsung Galaxy V | ||
], [[MODEL, 'Galaxy V'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ | ||
/(SM-T805)/i // Samsung Galaxy Tab S 10.5 | ||
], [[MODEL, 'Galaxy Tab S 10.5'], [VENDOR, 'Samsung'], [TYPE, TABLET]], [ | ||
/(SM-G800F)/i // Samsung Galaxy S5 Mini | ||
], [[MODEL, 'Galaxy S5 Mini'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ | ||
/(SM-T311)/i // Samsung Galaxy Tab 3 8.0 | ||
], [[MODEL, 'Galaxy Tab 3 8.0'], [VENDOR, 'Samsung'], [TYPE, TABLET]], [ | ||
/(R1001)/i // Oppo R1001 | ||
], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [ | ||
/(X9006)/i // Oppo Find 7a | ||
], [[MODEL, 'Find 7a'], [VENDOR, 'Oppo'], [TYPE, MOBILE]], [ | ||
/(R2001)/i // Oppo YOYO R2001 | ||
], [[MODEL, 'Yoyo R2001'], [VENDOR, 'Oppo'], [TYPE, MOBILE]], [ | ||
/(R815)/i // Oppo Clover R815 | ||
], [[MODEL, 'Clover R815'], [VENDOR, 'Oppo'], [TYPE, MOBILE]], [ | ||
/(U707)/i // Oppo Find Way S | ||
], [[MODEL, 'Find Way S'], [VENDOR, 'Oppo'], [TYPE, MOBILE]], [ | ||
/(T3C)/i // Advan Vandroid T3C | ||
], [MODEL, [VENDOR, 'Advan'], [TYPE, TABLET]], [ | ||
/(ADVAN T1J\+)/i // Advan Vandroid T1J+ | ||
], [[MODEL, 'Vandroid T1J+'], [VENDOR, 'Advan'], [TYPE, TABLET]], [ | ||
/(ADVAN S4A)/i // Advan Vandroid S4A | ||
], [[MODEL, 'Vandroid S4A'], [VENDOR, 'Advan'], [TYPE, MOBILE]], [ | ||
/(V972M)/i // ZTE V972M | ||
], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [ | ||
/(i-mobile)\s(IQ\s[\d\.]+)/i // i-mobile IQ | ||
], [VENDOR, MODEL, [TYPE, MOBILE]], [ | ||
/(IQ6.3)/i // i-mobile IQ IQ 6.3 | ||
], [[MODEL, 'IQ 6.3'], [VENDOR, 'i-mobile'], [TYPE, MOBILE]], [ | ||
/(i-mobile)\s(i-style\s[\d\.]+)/i // i-mobile i-STYLE | ||
], [VENDOR, MODEL, [TYPE, MOBILE]], [ | ||
/(i-STYLE2.1)/i // i-mobile i-STYLE 2.1 | ||
], [[MODEL, 'i-STYLE 2.1'], [VENDOR, 'i-mobile'], [TYPE, MOBILE]], [ | ||
/(mobiistar touch LAI 512)/i // mobiistar touch LAI 512 | ||
], [[MODEL, 'Touch LAI 512'], [VENDOR, 'mobiistar'], [TYPE, MOBILE]], [ | ||
///////////// | ||
// END TODO | ||
///////////*/ | ||
], | ||
@@ -655,3 +737,3 @@ | ||
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i, | ||
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i, | ||
/(macintosh|mac(?=_powerpc)\s)/i // Mac OS | ||
@@ -687,3 +769,5 @@ ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [ | ||
this.getBrowser = function () { | ||
return mapper.rgx.apply(this, rgxmap.browser); | ||
var browser = mapper.rgx.apply(this, rgxmap.browser); | ||
browser.major = util.major(browser.version); | ||
return browser; | ||
}; | ||
@@ -720,2 +804,3 @@ this.getCPU = function () { | ||
this.setUA(ua); | ||
return this; | ||
}; | ||
@@ -727,3 +812,3 @@ | ||
MAJOR : MAJOR, | ||
VERSION : VERSION | ||
VERSION : VERSION | ||
}; | ||
@@ -750,3 +835,3 @@ UAParser.CPU = { | ||
NAME : NAME, | ||
VERSION : VERSION | ||
VERSION : VERSION | ||
}; | ||
@@ -753,0 +838,0 @@ |
[ | ||
{ | ||
"desc" : "Android Browser on HTC Flyer (P510E)", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 3.2.1; ru-ru; HTC Flyer P510e Build/HTK75C) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13", | ||
"expect" : | ||
{ | ||
"name" : "Android Browser", | ||
"version" : "4.0", | ||
"major" : "4" | ||
} | ||
}, | ||
{ | ||
"desc" : "Android Browser on Huawei Honor Glory II (U9508)", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.0.4; ru-by; HUAWEI U9508 Build/HuaweiU9508) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 ACHEETAHI/2100050044", | ||
"expect" : | ||
{ | ||
"name" : "Android Browser", | ||
"version" : "4.0", | ||
"major" : "4" | ||
} | ||
}, | ||
{ | ||
"desc" : "Arora", | ||
@@ -353,2 +373,12 @@ "ua" : "Mozilla/5.0 (Windows; U; Windows NT 5.1; de-CH) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.2", | ||
{ | ||
"desc" : "MIUI Browser on Xiaomi Hongmi WCDMA (HM2013023)", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.2.2; ru-ru; 2013023 Build/HM2013023) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 XiaoMi/MiuiBrowser/1.0", | ||
"expect" : | ||
{ | ||
"name" : "MIUI Browser", | ||
"version" : "1.0", | ||
"major" : "1" | ||
} | ||
}, | ||
{ | ||
"desc" : "Mobile Safari", | ||
@@ -644,2 +674,12 @@ "ua" : "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7", | ||
{ | ||
"desc" : "Vivaldi", | ||
"ua" : "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.89 Vivaldi/1.0.83.38 Safari/537.36", | ||
"expect" : | ||
{ | ||
"name" : "Vivaldi", | ||
"version" : "1.0.83.38", | ||
"major" : "1" | ||
} | ||
}, | ||
{ | ||
"desc" : "Yandex", | ||
@@ -646,0 +686,0 @@ "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.5 (KHTML, like Gecko) YaBrowser/1.0.1084.5402 Chrome/19.0.1084.5402 Safari/536.5", |
@@ -63,5 +63,15 @@ [ | ||
{ | ||
"desc" : "Moto X", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.2; xx-xx; XT1058 Build/13.9.0Q2.X-70-GHOST-ATT_LE-2) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", | ||
"expect" : | ||
{ | ||
"vendor" : "Motorola", | ||
"model" : "XT1058", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Nokia3xx", | ||
"ua" : "Nokia303/14.87 CLDC-1.1", | ||
"expect" : | ||
"expect" : | ||
{ | ||
@@ -112,3 +122,113 @@ "vendor" : "Nokia", | ||
} | ||
}, | ||
{ | ||
"desc" : "Sony C5303 (Xperia SP)", | ||
"ua" : "Mozilla/5.0 (Linux; Android 4.3; C5303 Build/12.1.A.1.205) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Mobile Safari/537.36", | ||
"expect" : | ||
{ | ||
"vendor" : "Sony", | ||
"model" : "Xperia Phone", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Sony SO-02F (Xperia Z1 F)", | ||
"ua" : "Mozilla/5.0 (Linux; Android 4.2.2; SO-02F Build/14.1.H.2.119) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36", | ||
"expect" : | ||
{ | ||
"vendor" : "Sony", | ||
"model" : "Xperia Phone", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Sony D6653 (Xperia Z3)", | ||
"ua" : "Mozilla/5.0 (Linux; Android 4.4; D6653 Build/23.0.A.0.376) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36", | ||
"expect" : | ||
{ | ||
"vendor" : "Sony", | ||
"model" : "Xperia Phone", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Sony Xperia SOL25 (ZL2)", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.4; SOL25 Build/17.1.1.C.1.64) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", | ||
"expect" : | ||
{ | ||
"vendor" : "Sony", | ||
"model" : "Xperia Phone", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Sony SGP521 (Xperia Z2 Tablet)", | ||
"ua" : "Mozilla/5.0 (Linux; Android 4.4; SGP521 Build/17.1.A.0.432) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Safari/537.36", | ||
"expect" : | ||
{ | ||
"vendor" : "Sony", | ||
"model" : "Xperia Tablet", | ||
"type" : "tablet" | ||
} | ||
}, | ||
{ | ||
"desc" : "Sony Tablet S", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 3.1; Sony Tablet S Build/THMAS10000) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13", | ||
"expect" : | ||
{ | ||
"vendor" : "Sony", | ||
"model" : "Xperia Tablet", | ||
"type" : "tablet" | ||
} | ||
}, | ||
{ | ||
"desc" : "Sony Tablet Z LTE", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.1; SonySGP321 Build/10.2.C.0.143) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30", | ||
"expect" : | ||
{ | ||
"vendor" : "Sony", | ||
"model" : "Xperia Tablet", | ||
"type" : "tablet" | ||
} | ||
}, | ||
{ | ||
"desc" : "Xiaomi 2013023", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.2.2; en-US; 2013023 Build/HM2013023) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/10.0.1.512 U3/0.8.0 Mobile Safari/533.1", | ||
"expect" : | ||
{ | ||
"vendor" : "Xiaomi", | ||
"model" : "2013023", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Xiaomi Hongmi Note 1W", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-CN; HM NOTE 1W Build/JDQ39) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.7.9.439 U3/0.8.0 Mobile Safari/533.1", | ||
"expect" : | ||
{ | ||
"vendor" : "Xiaomi", | ||
"model" : "HM NOTE 1W", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Xiaomi Mi 3C", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.3; zh-CN; MI 3C Build/JLS36C) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.7.9.439 U3/0.8.0 Mobile Safari/533.1", | ||
"expect" : | ||
{ | ||
"vendor" : "Xiaomi", | ||
"model" : "MI 3C", | ||
"type" : "mobile" | ||
} | ||
}, | ||
{ | ||
"desc" : "Xiaomi Mi One Plus", | ||
"ua" : "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; MI-ONE Plus Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", | ||
"expect" : | ||
{ | ||
"vendor" : "Xiaomi", | ||
"model" : "MI-ONE Plus", | ||
"type" : "mobile" | ||
} | ||
} | ||
] |
@@ -75,2 +75,11 @@ [ | ||
{ | ||
"desc" : "Windows 10", | ||
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0", | ||
"expect" : | ||
{ | ||
"name" : "Windows", | ||
"version" : "10" | ||
} | ||
}, | ||
{ | ||
"desc" : "Windows RT", | ||
@@ -77,0 +86,0 @@ "ua" : "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)", |
{ | ||
"title": "UAParser.js", | ||
"name": "ua-parser-js", | ||
"version": "0.7.3", | ||
"version": "0.7.4", | ||
"description": "Lightweight JavaScript-based user-agent string parser", | ||
@@ -6,0 +6,0 @@ "keywords": [ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
152116
18
3809