mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-28 00:18:45 +03:00
Casually save some bytes
This commit is contained in:
parent
59d947dcab
commit
69a568ae49
158
src/ua-parser.js
158
src/ua-parser.js
@ -1,4 +1,4 @@
|
||||
/*!
|
||||
/*!@license
|
||||
* UAParser.js v0.7.24
|
||||
* Lightweight JavaScript-based User-Agent string parser
|
||||
* https://github.com/faisalman/ua-parser-js
|
||||
@ -158,7 +158,8 @@
|
||||
var maps = {
|
||||
|
||||
browser : {
|
||||
oldsafari : {
|
||||
// Safari < 3.0
|
||||
oldSafari : {
|
||||
version : {
|
||||
'1.0' : '/8',
|
||||
'1.2' : '/1',
|
||||
@ -172,23 +173,6 @@
|
||||
}
|
||||
},
|
||||
|
||||
device : {
|
||||
amazon : {
|
||||
model : {
|
||||
'Fire Phone' : ['SD', 'KF']
|
||||
}
|
||||
},
|
||||
sprint : {
|
||||
model : {
|
||||
'Evo Shift 4G' : '7373KT'
|
||||
},
|
||||
vendor : {
|
||||
'HTC' : 'APA',
|
||||
'Sprint' : 'Sprint'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
os : {
|
||||
windows : {
|
||||
version : {
|
||||
@ -218,7 +202,7 @@
|
||||
|
||||
browser : [[
|
||||
|
||||
/(?:android.+crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
|
||||
/\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
|
||||
], [VERSION, [NAME, 'Chrome']], [
|
||||
/(?:edge|edgios|edga|edg)\/((\d+)?[\w\.]+)/i // Microsoft Edge
|
||||
], [VERSION, [NAME, 'Edge']], [
|
||||
@ -270,20 +254,18 @@
|
||||
], [VERSION, [NAME, 'Opera Touch']], [
|
||||
/coc_coc_browser\/([\w\.]+)/i // Coc Coc Browser
|
||||
], [VERSION, [NAME, 'Coc Coc']], [
|
||||
/sailfishbrowser\/([\w\.]+)/i // Sailfish Browser
|
||||
], [VERSION, [NAME, 'Sailfish Browser']], [
|
||||
/dolfin\/([\w\.]+)/i // Dolphin
|
||||
], [VERSION, [NAME, 'Dolphin']], [
|
||||
/coast\/([\w\.]+)/i // Opera Coast
|
||||
], [VERSION, [NAME, 'Opera Coast']], [
|
||||
/xiaomi\/miuibrowser\/([\w\.]+)/i // MIUI Browser
|
||||
], [VERSION, [NAME, 'Opera Coast']],
|
||||
[/xiaomi\/miuibrowser\/([\w\.]+)/i // MIUI Browser
|
||||
], [VERSION, [NAME, 'MIUI Browser']], [
|
||||
/fxios\/([\w\.-]+)/i // Firefox for iOS
|
||||
], [VERSION, [NAME, 'Firefox']], [
|
||||
/(qihu|qhbrowser|qihoobrowser|360browser)/i // 360
|
||||
], [[NAME, '360 Browser']], [
|
||||
/((?:oculus|samsung)browser)\/([\w\.]+)/i
|
||||
], [[NAME, /(.+(?:g|us))(.+)/, '$1 $2'], VERSION], [ // Oculus / Samsung Browser
|
||||
/(oculus|samsung|sailfish)browser\/([\w\.]+)/i
|
||||
], [[NAME, /(.+)/, '$1 Browser'], VERSION], [ // Oculus/Samsung/Sailfish Browser
|
||||
/(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
|
||||
], [[NAME, /_/g, ' '], VERSION], [
|
||||
/m?(qqbrowser|baiduboxapp|2345Explorer)[\/\s]?([\w\.]+)/i // QQBrowser/Baidu App/2345 Browser
|
||||
@ -299,18 +281,18 @@
|
||||
], [[NAME, 'Facebook']], [
|
||||
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
|
||||
/safari\s(line)\/([\w\.]+)/i, // Line App for iOS
|
||||
/droid.+(line)\/([\w\.]+)\/iab/i // Line App for Android
|
||||
/\b(line)\/([\w\.]+)\/iab/i // Line App for Android
|
||||
], [NAME, VERSION], [
|
||||
/webkit.+?gsa\/([\w\.]+)\s.*(mobile\s?safari|safari)(\/[\w\.]+)/i // Google Search Appliance on iOS
|
||||
/\bgsa\/([\w\.]+)\s.*safari\//i // Google Search Appliance on iOS
|
||||
], [VERSION, [NAME, 'GSA']], [
|
||||
|
||||
/headlesschrome(?:\/([\w\.]+)|\s)/i // Chrome Headless
|
||||
], [VERSION, [NAME, 'Chrome Headless']], [
|
||||
|
||||
/\swv\).+(chrome)\/([\w\.]+)/i // Chrome WebView
|
||||
], [[NAME, /(.+)/, '$1 WebView'], VERSION], [
|
||||
], [[NAME, 'Chrome WebView'], VERSION], [
|
||||
|
||||
/droid.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i // Android Browser
|
||||
/droid.+\sversion\/([\w\.]+).+(?:mobile\ssafari|safari)/i // Android Browser
|
||||
], [VERSION, [NAME, 'Android Browser']], [
|
||||
|
||||
/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia
|
||||
@ -321,7 +303,7 @@
|
||||
/version\/([\w\.]+)\s.*(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]], [
|
||||
], [NAME, [VERSION, mapper.str, maps.browser.oldSafari.version]], [
|
||||
|
||||
/(webkit|khtml)\/([\w\.]+)/i
|
||||
], [NAME, VERSION], [
|
||||
@ -349,13 +331,13 @@
|
||||
|
||||
cpu : [[
|
||||
|
||||
/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i // AMD64
|
||||
/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i // AMD64 (x64)
|
||||
], [[ARCHITECTURE, 'amd64']], [
|
||||
|
||||
/(ia32(?=;))/i // IA32 (quicktime)
|
||||
], [[ARCHITECTURE, util.lowerize]], [
|
||||
|
||||
/((?:i[346]|x)86)[;\)]/i // IA32
|
||||
/((?:i[346]|x)86)[;\)]/i // IA32 (x86)
|
||||
], [[ARCHITECTURE, 'ia32']], [
|
||||
|
||||
/\b(aarch64|armv?8e?l?)\b/i // ARM64
|
||||
@ -381,8 +363,12 @@
|
||||
|
||||
device : [[
|
||||
|
||||
//////////////////////
|
||||
// MOBILES & TABLETS
|
||||
/////////////////////
|
||||
|
||||
// Samsung
|
||||
/droid.+(sch-i[89]0\d|shw-m380s|SM-P605|SM-P610|SM-P587|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10)/i,
|
||||
/\b(sch-i[89]0\d|shw-m380s|SM-P605|SM-P610|SM-P587|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10)/i,
|
||||
/(SM-T\w+)/i
|
||||
], [MODEL, [VENDOR, 'Samsung'], [TYPE, TABLET]], [
|
||||
/(s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+)/i,
|
||||
@ -400,20 +386,20 @@
|
||||
|
||||
// Huawei
|
||||
/d\/huawei([\w\s-]+)[;\)]/i,
|
||||
/droid.+\s(nexus\s6p|vog-[at]?l\d\d|ane-[at]?l[x\d]\d|eml-a?l\d\da?|lya-[at]?l\d[\dc]|clt-a?l\d\di?|ele-l\d\d)/i,
|
||||
/droid.+\s(\w{2,4}-[ATU][LN][01259][019])[;\)\s]/i
|
||||
/\b(nexus\s6p|vog-[at]?l\d\d|ane-[at]?l[x\d]\d|eml-a?l\d\da?|lya-[at]?l\d[\dc]|clt-a?l\d\di?|ele-l\d\d)/i,
|
||||
/\b(\w{2,4}-[ATU][LN][01259][019])[;\)\s]/i
|
||||
], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [
|
||||
/droid.+(bah2?-a?[lw]\d{2})/i // Huawei MediaPad
|
||||
/\b(bah2?-a?[lw]\d{2})/i // Huawei MediaPad
|
||||
], [MODEL, [VENDOR, 'Huawei'], [TYPE, TABLET]], [
|
||||
|
||||
// Xiaomi
|
||||
/\b(poco\s\w+)\b/i,
|
||||
/droid.+;\s(\w+)\s+build\/hm\1/i, // Xiaomi Hongmi 'numeric' models
|
||||
/droid.+(hm[\s\-_]?note?[\s_]?(?:\d\w)?)\sbuild/i, // Xiaomi Hongmi
|
||||
/droid.+(redmi[\s\-_]?(?:note|k)?(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i,// Xiaomi Redmi
|
||||
/droid.+(mi[\s\-_]?(?:a\d|one|one[\s_]plus|note lte)?[\s_]?(?:\d?\w?)[\s_]?(?:plus)?)\sbuild/i // Xiaomi Mi
|
||||
/\b(poco\s\w+)\b/i, // Xiaomi POCO
|
||||
/\b;\s(\w+)\s+build\/hm\1/i, // Xiaomi Hongmi 'numeric' models
|
||||
/\b(hm[\s\-_]?note?[\s_]?(?:\d\w)?)\sbuild/i, // Xiaomi Hongmi
|
||||
/\b(redmi[\s\-_]?(?:note|k)?(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i, // Xiaomi Redmi
|
||||
/\b(mi[\s\-_]?(?:a\d|one|one[\s_]plus|note lte)?[\s_]?(?:\d?\w?)[\s_]?(?:plus)?)\sbuild/i // Xiaomi Mi
|
||||
], [[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, MOBILE]], [
|
||||
/droid.+(mi[\s\-_]?(?:pad)(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i // Mi Pad tablets
|
||||
/\b(mi[\s\-_]?(?:pad)(?:[\s_]?[\w\s]+))(?:\sbuild|\))/i // Mi Pad tablets
|
||||
],[[MODEL, /_/g, ' '], [VENDOR, 'Xiaomi'], [TYPE, TABLET]], [
|
||||
|
||||
// Motorola
|
||||
@ -423,19 +409,19 @@
|
||||
/(XT\d{3,4}) build\//i,
|
||||
/(nexus\s6)/i
|
||||
], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [
|
||||
/droid.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i
|
||||
/\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i
|
||||
], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [
|
||||
|
||||
// LG
|
||||
/droid(?:.+([vl]k\-?\d{3})\s+build|\s3\.[\s\w;-]{10}lg?-([06cv9]{3,4}))/i
|
||||
/((?=lg)?[vl]k\-?\d{3})\s+build|\s3\.[\s\w;-]{10}lg?-([06cv9]{3,4})/i
|
||||
], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [
|
||||
/(nexus\s[45])/i,
|
||||
/lg[e;\s\/-]+((?!browser|netcast)\w+)/i,
|
||||
/droid.+lg(\-?[\d\w]+)\s+build/i
|
||||
/\blg(\-?[\d\w]+)\s+build/i
|
||||
], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [
|
||||
|
||||
// Lenovo
|
||||
/droid.+(ideatab[a-z0-9\-\s]+)/i,
|
||||
/(ideatab[\w\-\s]+)/i,
|
||||
/lenovo\s?(s(?:5000|6000)(?:[\w-]+)|tab(?:[\s\w]+)|[\w-]+)/i // Lenovo tablets
|
||||
], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [
|
||||
|
||||
@ -458,8 +444,8 @@
|
||||
], [[MODEL, 'Xperia Tablet'], [VENDOR, 'Sony'], [TYPE, TABLET]], [
|
||||
|
||||
// OnePlus
|
||||
/droid.+a000(1)\s+build/i, // OnePlus
|
||||
/droid.+oneplus\s(a\d{4})[\s)]/i
|
||||
/\ba000(1)\s+build/i, // OnePlus
|
||||
/\boneplus\s(a\d{4})[\s)]/i
|
||||
], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [
|
||||
|
||||
// Amazon
|
||||
@ -467,7 +453,7 @@
|
||||
/(kf[A-z]+)(\sbuild\/|\)).+silk\//i // Kindle Fire HD
|
||||
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
||||
/(sd|kf)[0349hijorstuw]+(\sbuild\/|\)).+silk\//i // Fire Phone
|
||||
], [[MODEL, mapper.str, maps.device.amazon.model], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [
|
||||
], [[MODEL, 'Fire Phone'], [VENDOR, 'Amazon'], [TYPE, MOBILE]], [
|
||||
|
||||
// BlackBerry
|
||||
/\((playbook);[\w\s\),;-]+(rim)/i // BlackBerry PlayBook
|
||||
@ -476,7 +462,7 @@
|
||||
], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [
|
||||
|
||||
// Asus
|
||||
/droid.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone|p00c)/i
|
||||
/\b(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone|p00c)/i
|
||||
], [MODEL, [VENDOR, 'Asus'], [TYPE, TABLET]], [
|
||||
|
||||
// HTC
|
||||
@ -516,61 +502,59 @@
|
||||
/(kindle)\/([\w\.]+)/i, // Kindle
|
||||
/\s(nook)[\w\s]+build\/(\w+)/i, // Nook
|
||||
/(dell)\s(strea[kpr\s\d]*[\dko])/i, // Dell Streak
|
||||
/droid.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i, // Le Pan Tablets
|
||||
/droid.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i, // Trinity Tablets
|
||||
/droid.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i, // Gigaset Tablets
|
||||
/droid.+(vodafone)\s([\w\s]+)\)/i // Vodafone
|
||||
/[;\/]\s*(le[\s\-]+pan)[\s\-]+(\w{1,9})\s+build/i, // Le Pan Tablets
|
||||
/[;\/]\s*(trinity)[\-\s]*(t\d{3})\s+build/i, // Trinity Tablets
|
||||
/\b(gigaset)[\s\-]+(Q\w{1,9})\s+build/i, // Gigaset Tablets
|
||||
/\b(vodafone)\s([\w\s]+)\)/i // Vodafone
|
||||
], [VENDOR, MODEL, [TYPE, TABLET]], [
|
||||
|
||||
/\s(surface\sduo)\s/i // Surface Duo
|
||||
], [MODEL, [VENDOR, 'Microsoft'], [TYPE, TABLET]], [
|
||||
/\s(U304AA)\sbuild/i // AT&T
|
||||
/\s(u304aa)\sbuild/i // AT&T
|
||||
], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
|
||||
/sie-(\w*)/i // Siemens
|
||||
], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [
|
||||
/droid.+[;\/]\s*(RCT[\d\w]+)\s+build/i // RCA Tablets
|
||||
/[;\/]\s*(rct[\d\w]+)\s+build/i // RCA Tablets
|
||||
], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/\s](Venue[\d\s]{2,7})\s+build/i // Dell Venue Tablets
|
||||
/[;\/\s](venue[\d\s]{2,7})\s+build/i // Dell Venue Tablets
|
||||
], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i // Verizon Tablet
|
||||
/[;\/]\s*(Q[T|M][\d\w]+)\s+build/i // Verizon Tablet
|
||||
], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(\S(?:.*\S)?)\s+build/i
|
||||
/[;\/]\s+(barnes[&\s]+noble\s+|bn[rt])(\S(?:.*\S)?)\s+build/i
|
||||
], [[VENDOR, 'Barnes & Noble'], MODEL, [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s+(TM\d{3}.*\b)\s+build/i // Barnes & Noble Tablet
|
||||
/[;\/]\s+(TM\d{3}.*\b)\s+build/i // Barnes & Noble Tablet
|
||||
], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [
|
||||
/droid.+;\s(k88)\sbuild/i // ZTE K Series Tablet
|
||||
/;\s(k88)\sbuild/i // ZTE K Series Tablet
|
||||
], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [
|
||||
/droid.+;\s(nx\d{3}j)\sbuild/i // ZTE Nubia
|
||||
/;\s(nx\d{3}j)\sbuild/i // ZTE Nubia
|
||||
], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [
|
||||
/droid.+[;\/]\s*(gen\d{3})\s+build.*49h/i // Swiss GEN Mobile
|
||||
/[;\/]\s*(gen\d{3})\s+build.*49h/i // Swiss GEN Mobile
|
||||
], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [
|
||||
/droid.+[;\/]\s*(zur\d{3})\s+build/i // Swiss ZUR Tablet
|
||||
/[;\/]\s*(zur\d{3})\s+build/i // Swiss ZUR Tablet
|
||||
], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i // Zeki Tablets
|
||||
/[;\/]\s*((zeki)?TB.*\b)\s+build/i // Zeki Tablets
|
||||
], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [
|
||||
/(droid).+[;\/]\s+([YR]\d{2})\s+build/i,
|
||||
/droid.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i // Dragon Touch Tablet
|
||||
/[;\/]\s+([yr]\d{2})\s+build/i,
|
||||
/[;\/]\s+(dragon[\-\s]+touch\s+|dt)(\w{5})\sbuild/i // Dragon Touch Tablet
|
||||
], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s*(NS-?\w{0,9})\sbuild/i // Insignia Tablets
|
||||
/[;\/]\s*(ns-?\w{0,9})\sbuild/i // Insignia Tablets
|
||||
], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s*((NXA|Next)-?\w{0,9})\s+build/i // NextBook Tablets
|
||||
/[;\/]\s*((nxa|Next)-?\w{0,9})\s+build/i // NextBook Tablets
|
||||
], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i
|
||||
/[;\/]\s*(xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i
|
||||
], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ // Voice Xtreme Phones
|
||||
/droid.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i // LvTel Phones
|
||||
/[;\/]\s*(lvtel\-)?(V1[12])\s+build/i // LvTel Phones
|
||||
], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [
|
||||
/droid.+;\s(PH-1)\s/i
|
||||
/;\s(PH-1)\s/i
|
||||
], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [ // Essential PH-1
|
||||
/droid.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets
|
||||
/[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets
|
||||
], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s*(Trio[\s\w\-\.]+)\s+build/i // MachSpeed Tablets
|
||||
/[;\/]\s*(Trio[\s\w\-\.]+)\s+build/i // MachSpeed Tablets
|
||||
], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [
|
||||
/droid.+[;\/]\s*TU_(1491)\s+build/i // Rotor Tablets
|
||||
/[;\/]\s*TU_(1491)\s+build/i // Rotor Tablets
|
||||
], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [
|
||||
//android.+(KS(.+))\s+build/i // Amazon Kindle Tablets
|
||||
//], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
||||
/(sprint\s(\w+))/i // Sprint Phones
|
||||
], [[VENDOR, mapper.str, maps.device.sprint.vendor], [MODEL, mapper.str, maps.device.sprint.model], [TYPE, MOBILE]], [
|
||||
/(sprint)\s(\w+)/i // Sprint Phones
|
||||
], [VENDOR, MODEL, [TYPE, MOBILE]], [
|
||||
/(kin\.[onetw]{3})/i // Microsoft Kin
|
||||
], [[MODEL, /\./g, ' '], [VENDOR, 'Microsoft'], [TYPE, MOBILE]], [
|
||||
|
||||
@ -581,7 +565,10 @@
|
||||
/droid\s[\d\.]+;\s(wt63?0{2,3})\)/i
|
||||
], [MODEL, [VENDOR, 'Zebra'], [TYPE, WEARABLE]], [
|
||||
|
||||
///////////////////
|
||||
// CONSOLES
|
||||
///////////////////
|
||||
|
||||
/\s(ouya)\s/i, // Ouya
|
||||
/(nintendo)\s([wids3utch]+)/i // Nintendo
|
||||
], [VENDOR, MODEL, [TYPE, CONSOLE]], [
|
||||
@ -592,7 +579,10 @@
|
||||
/[\s\(;](xbox(?:\sone)?)[\s\);]/i // Microsoft Xbox
|
||||
], [MODEL, [VENDOR, 'Microsoft'], [TYPE, CONSOLE]], [
|
||||
|
||||
///////////////////
|
||||
// SMARTTVS
|
||||
///////////////////
|
||||
|
||||
/smart-tv.+(samsung)/i // Samsung
|
||||
], [VENDOR, [TYPE, SMARTTV], MODEL], [
|
||||
/hbbtv.+maple;(\d+)/i
|
||||
@ -613,13 +603,19 @@
|
||||
/[\s\/\(](android\stv|smart[-\s]?tv)[;\)\s]/i // SmartTV from Unidentified Vendors
|
||||
], [[TYPE, SMARTTV]], [
|
||||
|
||||
///////////////////
|
||||
// WEARABLES
|
||||
///////////////////
|
||||
|
||||
/((pebble))app\/[\d\.]+\s/i // Pebble
|
||||
], [VENDOR, MODEL, [TYPE, WEARABLE]], [
|
||||
/droid.+;\s(glass)\s\d/i // Google Glass
|
||||
], [MODEL, [VENDOR, 'Google'], [TYPE, WEARABLE]], [
|
||||
|
||||
// OTHERS
|
||||
////////////////////
|
||||
// MIXED (GENERIC)
|
||||
///////////////////
|
||||
|
||||
/droid .+?; ([^;]+?)(?: build|\) applewebkit).+? mobile safari/i // Android Phones from Unidentified Vendors
|
||||
], [MODEL, [TYPE, MOBILE]], [
|
||||
/droid .+?;\s([^;]+?)(?: build|\) applewebkit).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors
|
||||
|
@ -65,8 +65,8 @@
|
||||
"desc": "HTC Evo Shift 4G",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0",
|
||||
"expect": {
|
||||
"vendor": "HTC",
|
||||
"model": "Evo Shift 4G",
|
||||
"vendor": "Sprint",
|
||||
"model": "APA7373KT",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user