mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
Better tablet detection:
- Huawei MediaPad M/T - Galaxy Tab SM-P - Kindle Fire without Silk
This commit is contained in:
parent
a6b0c165c4
commit
91fa6dd5cc
2
dist/ua-parser.min.js
vendored
2
dist/ua-parser.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/ua-parser.pack.js
vendored
2
dist/ua-parser.pack.js
vendored
File diff suppressed because one or more lines are too long
@ -287,7 +287,7 @@
|
|||||||
|
|
||||||
// WebView
|
// WebView
|
||||||
/;fbav\/([\w\.]+);/i // Facebook App for iOS & Android with version
|
/;fbav\/([\w\.]+);/i // Facebook App for iOS & Android with version
|
||||||
], [VERSION, [NAME, 'Facebook']], [
|
], [VERSION, [NAME, 'Facebook']], [
|
||||||
/FBAN\/FBIOS|FB_IAB\/FB4A/i // Facebook App for iOS & Android without version
|
/FBAN\/FBIOS|FB_IAB\/FB4A/i // Facebook App for iOS & Android without version
|
||||||
], [[NAME, 'Facebook']], [
|
], [[NAME, 'Facebook']], [
|
||||||
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
|
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
|
||||||
@ -373,13 +373,13 @@
|
|||||||
],
|
],
|
||||||
|
|
||||||
device : [[
|
device : [[
|
||||||
|
|
||||||
//////////////////////
|
//////////////////////
|
||||||
// MOBILES & TABLETS
|
// MOBILES & TABLETS
|
||||||
/////////////////////
|
/////////////////////
|
||||||
|
|
||||||
// Samsung
|
// Samsung
|
||||||
/\b(sch-i[89]0\d|shw-m380s|sm-p(?:605|610|587)|sm-t\w+|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus\s10)/i,
|
/\b(sch-i[89]0\d|shw-m380s|sm-p(?:605|610|587)|sm-t\w+|sm-p\w+|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus\s10)/i,
|
||||||
], [MODEL, [VENDOR, 'Samsung'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Samsung'], [TYPE, TABLET]], [
|
||||||
/(s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+)/i,
|
/(s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+)/i,
|
||||||
/\ssamsung[\s-]([\w-]+)/i,
|
/\ssamsung[\s-]([\w-]+)/i,
|
||||||
@ -395,12 +395,14 @@
|
|||||||
], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [
|
||||||
|
|
||||||
// Huawei
|
// Huawei
|
||||||
|
/\b(bah2?-a?[lw]\d{2})/i, // Huawei M Lite
|
||||||
|
/\b(sht?-a?[lw]\d{2})/i, // Huawei M
|
||||||
|
/\b(ags2?-a?[lw]\d{2})/i // Huawei T
|
||||||
|
], [MODEL, [VENDOR, 'Huawei'], [TYPE, TABLET]], [
|
||||||
/d\/huawei([\w\s-]+)[;\)]/i,
|
/d\/huawei([\w\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(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
|
/\b(\w{2,4}-[atu][ln][01259][019])[;\)\s]/i
|
||||||
], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [
|
], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [
|
||||||
/\b(bah2?-a?[lw]\d{2})/i // Huawei MediaPad
|
|
||||||
], [MODEL, [VENDOR, 'Huawei'], [TYPE, TABLET]], [
|
|
||||||
|
|
||||||
// Xiaomi
|
// Xiaomi
|
||||||
/\b(poco[\s\w]+)(?:\sbuild|\))/i, // Xiaomi POCO
|
/\b(poco[\s\w]+)(?:\sbuild|\))/i, // Xiaomi POCO
|
||||||
@ -421,7 +423,7 @@
|
|||||||
/\svivo\s(\w+)(?:\sbuild|\))/i,
|
/\svivo\s(\w+)(?:\sbuild|\))/i,
|
||||||
/\s(v[12]\d{3}\w?[at])(?:\sbuild|;)/i
|
/\s(v[12]\d{3}\w?[at])(?:\sbuild|;)/i
|
||||||
], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [
|
], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [
|
||||||
|
|
||||||
// Realme
|
// Realme
|
||||||
/\s(rmx[12]\d{3})(?:\sbuild|;)/i
|
/\s(rmx[12]\d{3})(?:\sbuild|;)/i
|
||||||
], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [
|
], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [
|
||||||
@ -475,6 +477,7 @@
|
|||||||
|
|
||||||
// Amazon
|
// Amazon
|
||||||
/(alexa)webm/i,
|
/(alexa)webm/i,
|
||||||
|
/(kf[a-z]{2}wi)(\sbuild\/|\))/i, // Kindle Fire without Silk
|
||||||
/(kf[a-z]+)(\sbuild\/|\)).+silk\//i // Kindle Fire HD
|
/(kf[a-z]+)(\sbuild\/|\)).+silk\//i // Kindle Fire HD
|
||||||
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
||||||
/(sd|kf)[0349hijorstuw]+(\sbuild\/|\)).+silk\//i // Fire Phone
|
/(sd|kf)[0349hijorstuw]+(\sbuild\/|\)).+silk\//i // Fire Phone
|
||||||
@ -485,7 +488,7 @@
|
|||||||
], [MODEL, VENDOR, [TYPE, TABLET]], [
|
], [MODEL, VENDOR, [TYPE, TABLET]], [
|
||||||
/\(bb10;\s(\w+)/i // BlackBerry 10
|
/\(bb10;\s(\w+)/i // BlackBerry 10
|
||||||
], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [
|
], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [
|
||||||
|
|
||||||
// Asus
|
// Asus
|
||||||
/\b(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus\s7|padfone|p00c)/i
|
/\b(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus\s7|padfone|p00c)/i
|
||||||
], [MODEL, [VENDOR, 'ASUS'], [TYPE, TABLET]], [
|
], [MODEL, [VENDOR, 'ASUS'], [TYPE, TABLET]], [
|
||||||
@ -765,11 +768,11 @@
|
|||||||
extensions = ua;
|
extensions = ua;
|
||||||
ua = undefined;
|
ua = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(this instanceof UAParser)) {
|
if (!(this instanceof UAParser)) {
|
||||||
return new UAParser(ua, extensions).getResult();
|
return new UAParser(ua, extensions).getResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ua = ua || ((typeof window !== 'undefined' && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);
|
var _ua = ua || ((typeof window !== 'undefined' && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);
|
||||||
var _rgxmap = extensions ? util.extend(regexes, extensions) : regexes;
|
var _rgxmap = extensions ? util.extend(regexes, extensions) : regexes;
|
||||||
|
|
||||||
|
@ -828,6 +828,15 @@
|
|||||||
"type": "tablet"
|
"type": "tablet"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"desc": "Samsung Galaxy Tab A 9.7",
|
||||||
|
"ua": "Mozilla/5.0 (Linux; Android 7.1.1; SM-P550 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Safari/537.36",
|
||||||
|
"expect": {
|
||||||
|
"vendor": "Samsung",
|
||||||
|
"model": "SM-P550",
|
||||||
|
"type": "tablet"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"desc": "Samsung Galaxy Tab S7",
|
"desc": "Samsung Galaxy Tab S7",
|
||||||
"ua": "Mozilla/5.0 (Linux; Android 10; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36",
|
"ua": "Mozilla/5.0 (Linux; Android 10; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36",
|
||||||
@ -1831,6 +1840,15 @@
|
|||||||
"type": "tablet"
|
"type": "tablet"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"desc": "Amazon Kindle Fire Tablet",
|
||||||
|
"ua": "Mozilla/5.0 (Linux; Android 9; KFMAWI Build/PS7312; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Safari/537.36",
|
||||||
|
"expect": {
|
||||||
|
"vendor": "Amazon",
|
||||||
|
"model": "KFMAWI",
|
||||||
|
"type": "tablet"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"desc": "Amazon Fire TV",
|
"desc": "Amazon Fire TV",
|
||||||
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; AFTB Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.173 Mobile Safari/537.22",
|
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; AFTB Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.173 Mobile Safari/537.22",
|
||||||
@ -1876,6 +1894,33 @@
|
|||||||
"type": "tablet"
|
"type": "tablet"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"desc": "HUAWEI MediaPad M5 Lite",
|
||||||
|
"ua": "Mozilla/5.0 (Linux; Android 8.0.0; BAH2-W19 Build/HUAWEIBAH2-W19; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Safari/537.36",
|
||||||
|
"expect": {
|
||||||
|
"vendor": "Huawei",
|
||||||
|
"model": "BAH2-W19",
|
||||||
|
"type": "tablet"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"desc": "HUAWEI MediaPad M5",
|
||||||
|
"ua": "Mozilla/5.0 (Linux; Android 9; SHT-AL09 Build/HUAWEISHT-AL09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Mobile Safari/537.36",
|
||||||
|
"expect": {
|
||||||
|
"vendor": "Huawei",
|
||||||
|
"model": "SHT-AL09",
|
||||||
|
"type": "tablet"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"desc": "HUAWEI MediaPad T5",
|
||||||
|
"ua": "Mozilla/5.0 (Linux; Android 8.0.0; AGS2-L09 Build/HUAWEIAGS2-L09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.125 Safari/537.36",
|
||||||
|
"expect": {
|
||||||
|
"vendor": "Huawei",
|
||||||
|
"model": "AGS2-L09",
|
||||||
|
"type": "tablet"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"desc": "Huawei Mate 10 Pro",
|
"desc": "Huawei Mate 10 Pro",
|
||||||
"ua": "Mozilla/5.0 (Linux; Android 8.0; BLA-L29 Build/HUAWEIBLA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.6 Mobile Safari/537.36",
|
"ua": "Mozilla/5.0 (Linux; Android 8.0; BLA-L29 Build/HUAWEIBLA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.6 Mobile Safari/537.36",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user