Add more companies to showcase
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 96 KiB |
BIN
images/companies/disney.png
Normal file
After Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 25 KiB |
BIN
images/companies/grab.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
images/companies/hpe.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
images/companies/intuit.png
Normal file
After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
images/companies/line.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
images/companies/livescore.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
images/companies/olx.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 98 KiB |
BIN
images/companies/traveloka.png
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 45 KiB |
BIN
images/companies/uber.png
Normal file
After Width: | Height: | Size: 12 KiB |
151
index.html
@ -4,15 +4,15 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
||||
<meta name="keywords" content="browser detection, user-agent, javascript, detect os, detect mobile tablet, detect device, detect cpu" />
|
||||
<title>UAParser.js - Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Supports browser & node.js environment. </title>
|
||||
<meta name="keywords" content="browser detection, user-agent, javascript, detect os, detect mobile tablet, detect device, detect cpu, javascript, nodejs, jquery, typescript" />
|
||||
<title>UAParser.js - Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data using JavaScript. Supports browser & node.js environment. Available as jQuery plugin & @types-ready for TypeScript library.</title>
|
||||
<link rel="icon" type="image/png" href="images/logo.png">
|
||||
<link rel="stylesheet" type="text/css" href="semantic-ui/semantic.css">
|
||||
<link rel="stylesheet" type="text/css" href="css/style.css">
|
||||
<script src="js/jquery-3.6.0.min.js"></script>
|
||||
<script src="semantic-ui/semantic.js"></script>
|
||||
<script src="js/clipboard.min.js"></script>
|
||||
<script src="src/ua-parser.js"></script>
|
||||
<script src="js/ua-parser.js"></script>
|
||||
<script src="js/ua-list-example.js"></script>
|
||||
<script src="js/script.js"></script>
|
||||
</head>
|
||||
@ -23,7 +23,7 @@
|
||||
<h1 class="ui inverted header">
|
||||
What <span class="ui massive black label">device.type</span> am I using?
|
||||
</h1>
|
||||
<h2><a href="https://faisalman.github.io/ua-parser-js">{UAParser.js}</a> abstracts away the hassle of User-Agent by extracting them into a set of simple & meaningful data so you can focus on what really matters.</h2>
|
||||
<h2><a href="https://faisalman.github.io/ua-parser-js">{UAParser.js}</a> abstracts away the hassle of User-Agent detection by turning them into a set of simple & meaningful data so you can focus on what really matters.</h2>
|
||||
<div class="ui large buttons">
|
||||
<a class="ui labeled icon violet button" href="https://github.com/faisalman/ua-parser-js" target="_blank">
|
||||
<i class="download icon"></i>
|
||||
@ -356,14 +356,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/tumblr.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.tumblr.com/policy/en/web-credits" target="_blank" class="ui teal button"><i class="tumblr icon"></i>Web & Mobile App</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/shopify.png"/>
|
||||
<div class="ui popup">
|
||||
@ -380,6 +372,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/apple.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://music.apple.com/" target="_blank" class="ui black button"><i class="music icon"></i>Apple Music Website</a>
|
||||
<a href="https://tv.apple.com/" target="_blank" class="ui grey button"><i class="tv icon"></i>Apple TV Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
@ -483,10 +484,10 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<img src="images/companies/postman.png"/>
|
||||
<img src="images/companies/scribd.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.postman.com/explore" target="_blank" class="ui orange button"><i class="fighter jet icon"></i>Website</a>
|
||||
<a href="https://www.scribd.com/" target="_blank" class="ui green button"><i class="scribd icon"></i>Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -498,14 +499,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/verizon.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.verizon.com/supportresources/content/dam/verizon/support/consumer/documents/ftw-open-source-licenses190228.pdf" target="_blank" class="ui red button"><i class="tv icon"></i>Fios TV</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/imgur.png"/>
|
||||
<div class="ui popup">
|
||||
@ -522,6 +515,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/tumblr.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.tumblr.com/policy/en/web-credits" target="_blank" class="ui teal button"><i class="tumblr icon"></i>Web & Mobile App</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/pinterest.png"/>
|
||||
<div class="ui popup">
|
||||
@ -533,10 +534,27 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<img src="images/companies/scribd.png"/>
|
||||
<img src="images/companies/uber.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.scribd.com/" target="_blank" class="ui green button"><i class="scribd icon"></i>Website</a>
|
||||
<a href="https://www.uber.com/a/join-new" target="_blank" class="ui black button"><i class="car icon"></i>Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/disney.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.disneyplus.com" target="_blank" class="ui blue button"><i class="tv icon"></i>Disney+ Website</a>
|
||||
<a href="https://www.nationalgeographic.com/" target="_blank" class="ui yellow button"><i class="square outline icon"></i>National Geographic Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/livescore.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.livescore.com/" target="_blank" class="ui orange button"><i class="futbol outline icon"></i>Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -560,7 +578,41 @@
|
||||
<img src="images/companies/expedia.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.expedia.com/" target="_blank" class="ui blue button"><i class="plane icon"></i>Web-based App</a>
|
||||
<a href="https://www.expedia.com/" target="_blank" class="ui blue button"><i class="fighter jet icon"></i>Web-based App</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<img src="images/companies/line.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://line.me" target="_blank" class="ui green button"><i class="chat icon"></i>LINE Messenger</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/olx.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.olx.com/" target="_blank" class="ui blue button"><i class="circle outline icon"></i>Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/grab.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://food.grab.com" target="_blank" class="ui green button"><i class="utensils icon"></i>GrabFood Web</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/traveloka.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.traveloka.com" target="_blank" class="ui blue button"><i class="plane icon"></i>Web-based App</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -576,12 +628,21 @@
|
||||
<img src="images/companies/bukalapak.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://bukalapak.com/" target="_blank" class="ui red button"><i class="shopping basket icon"></i>Web-based App</a>
|
||||
<a href="https://bukalapak.com/" target="_blank" class="ui red button"><i class="blogger b icon"></i>Web-based App</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<img src="images/companies/jetbrains.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.jetbrains.com/help/hub/third-party-software.html" target="_blank" class="ui yellow button"><i class="cube icon"></i>Hub</a>
|
||||
<a href="https://www.jetbrains.com/idea/download/" target="_blank" class="ui pink button"><i class="cube icon"></i>Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/here.png"/>
|
||||
<div class="ui popup">
|
||||
@ -591,13 +652,39 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/jetbrains.png"/>
|
||||
<img src="images/companies/postman.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://www.jetbrains.com/help/hub/third-party-software.html" target="_blank" class="ui black button"><i class="cube icon"></i>Hub</a>
|
||||
<a href="https://www.postman.com/explore" target="_blank" class="ui orange button"><i class="fighter jet icon"></i>Website</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/intuit.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://myturbotax.intuit.com/" target="_blank" class="ui blue button"><i class="user icon"></i>Web & Mobile Platform</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/neo4j.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://neo4j.com/terms/thirdpartylicenses/bloom/" target="_blank" class="ui blue button"><i class="spinner icon"></i>Neo4j Bloom</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/mongodb.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://docs.mongodb.com/charts/master/third-party-licenses/" target="_blank" class="ui green button"><i class="leaf icon"></i>MongoDB Charts</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="column">
|
||||
<img src="images/companies/dell.png"/>
|
||||
<div class="ui popup">
|
||||
@ -631,18 +718,18 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/neo4j.png"/>
|
||||
<img src="images/companies/hpe.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://neo4j.com/terms/thirdpartylicenses/bloom/" target="_blank" class="ui blue button"><i class="spinner icon"></i>Neo4j Bloom</a>
|
||||
<a href="https://www.hpe.com/content/dam/hpe/download/pdf/Software/HPE%20OVGD%20v1.40%20ALA.pdf" target="_blank" class="ui green button"><i class="square outline icon"></i>OneView Global Dashboard</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<img src="images/companies/mongodb.png"/>
|
||||
<img src="images/companies/verizon.png"/>
|
||||
<div class="ui popup">
|
||||
<div class="ui labeled icon small buttons">
|
||||
<a href="https://docs.mongodb.com/charts/master/third-party-licenses/" target="_blank" class="ui green button"><i class="leaf icon"></i>MongoDB Charts</a>
|
||||
<a href="https://www.verizon.com/supportresources/content/dam/verizon/support/consumer/documents/ftw-open-source-licenses190228.pdf" target="_blank" class="ui red button"><i class="tv icon"></i>Fios TV</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!@license
|
||||
* UAParser.js v0.7.26
|
||||
* UAParser.js v0.7.28
|
||||
* Lightweight JavaScript-based User-Agent string parser
|
||||
* https://github.com/faisalman/ua-parser-js
|
||||
*
|
||||
@ -16,7 +16,7 @@
|
||||
/////////////
|
||||
|
||||
|
||||
var LIBVERSION = '0.7.26',
|
||||
var LIBVERSION = '0.7.28',
|
||||
EMPTY = '',
|
||||
UNKNOWN = '?',
|
||||
FUNC_TYPE = 'function',
|
||||
@ -215,16 +215,16 @@
|
||||
|
||||
/\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
|
||||
], [VERSION, [NAME, 'Chrome']], [
|
||||
/(?:edgios|edga|edg)\/([\w\.]+)/i // Microsoft Edge
|
||||
/edg(?:e|ios|a)?\/([\w\.]+)/i // Microsoft Edge
|
||||
], [VERSION, [NAME, 'Edge']], [
|
||||
/edge\/([\w\.]+)/i // Old Edge (Trident)
|
||||
], [[VERSION, mapper.str, maps.browser.oldEdge.version], [NAME, 'Edge']], [
|
||||
// breaking change (reserved for next major release):
|
||||
///edge\/([\w\.]+)/i // Old Edge (Trident)
|
||||
//], [[VERSION, mapper.str, maps.browser.oldEdge.version], [NAME, 'Edge']], [
|
||||
|
||||
// Presto based
|
||||
/(opera\smini)\/([\w\.-]+)/i, // Opera Mini
|
||||
/(opera\s[mobiletab]{3,6})\b.+version\/([\w\.-]+)/i, // Opera Mobi/Tablet
|
||||
/(opera).+version\/([\w\.]+)/i, // Opera > 9.80
|
||||
/(opera)[\/\s]+([\w\.]+)/i // Opera < 9.80
|
||||
/(opera)(?:.+version\/|[\/\s]+)([\w\.]+)/i, // Opera
|
||||
], [NAME, VERSION], [
|
||||
/opios[\/\s]+([\w\.]+)/i // Opera mini on iphone >= 8.0
|
||||
], [VERSION, [NAME, 'Opera Mini']], [
|
||||
@ -233,15 +233,15 @@
|
||||
|
||||
// Mixed
|
||||
/(kindle)\/([\w\.]+)/i, // Kindle
|
||||
/(lunascape|maxthon|netfront|jasmine|blazer|instagram)[\/\s]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Instagram
|
||||
/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer
|
||||
// Trident based
|
||||
/(avant\s|iemobile|slim)(?:browser)?[\/\s]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
|
||||
/(ba?idubrowser)[\/\s]?([\w\.]+)/i, // Baidu Browser
|
||||
/(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer
|
||||
|
||||
// Webkit/KHTML based
|
||||
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,
|
||||
// Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
|
||||
/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,
|
||||
// Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
|
||||
/(rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([\w\.]+)/i, // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
|
||||
/(weibo)__([\d\.]+)/i // Weibo
|
||||
], [NAME, VERSION], [
|
||||
@ -279,6 +279,8 @@
|
||||
], [[NAME, /(.+)/, '$1 Browser'], VERSION], [ // Oculus/Samsung/Sailfish Browser
|
||||
/(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
|
||||
], [[NAME, /_/g, ' '], VERSION], [
|
||||
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
|
||||
/(tesla)(?:\sqtcarbrowser|\/(20[12]\d\.[\w\.-]+))/i, // Tesla
|
||||
/m?(qqbrowser|baiduboxapp|2345Explorer)[\/\s]?([\w\.]+)/i // QQBrowser/Baidu App/2345 Browser
|
||||
], [NAME, VERSION], [
|
||||
/(MetaSr)[\/\s]?([\w\.]+)/i, // SouGouBrowser
|
||||
@ -290,9 +292,9 @@
|
||||
], [VERSION, [NAME, 'Facebook']], [
|
||||
/FBAN\/FBIOS|FB_IAB\/FB4A/i // Facebook App for iOS & Android without version
|
||||
], [[NAME, 'Facebook']], [
|
||||
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
|
||||
/safari\s(line)\/([\w\.]+)/i, // Line App for iOS
|
||||
/\b(line)\/([\w\.]+)\/iab/i // Line App for Android
|
||||
/\b(line)\/([\w\.]+)\/iab/i, // Line App for Android
|
||||
/(chromium|instagram)[\/\s]([\w\.-]+)/i // Chromium/Instagram
|
||||
], [NAME, VERSION], [
|
||||
/\bgsa\/([\w\.]+)\s.*safari\//i // Google Search Appliance on iOS
|
||||
], [VERSION, [NAME, 'GSA']], [
|
||||
@ -322,6 +324,9 @@
|
||||
// Gecko based
|
||||
/(navigator|netscape)\/([\w\.-]+)/i // Netscape
|
||||
], [[NAME, 'Netscape'], VERSION], [
|
||||
/ile\svr;\srv:([\w\.]+)\).+firefox/i // Firefox Reality
|
||||
], [VERSION, [NAME, 'Firefox Reality']], [
|
||||
/ekiohf.+(flow)\/([\w\.]+)/i, // Flow
|
||||
/(swiftfox)/i, // Swiftfox
|
||||
/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,
|
||||
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
|
||||
@ -374,14 +379,15 @@
|
||||
|
||||
device : [[
|
||||
|
||||
//////////////////////
|
||||
//////////////////////////
|
||||
// MOBILES & TABLETS
|
||||
/////////////////////
|
||||
// Ordered by popularity
|
||||
/////////////////////////
|
||||
|
||||
// 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-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus\s10)/i
|
||||
], [MODEL, [VENDOR, 'Samsung'], [TYPE, TABLET]], [
|
||||
/(s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+)/i,
|
||||
/\b((?:s[cgp]h|gt|sm)-\w+|galaxy\snexus)/i,
|
||||
/\ssamsung[\s-]([\w-]+)/i,
|
||||
/sec-(sgh\w+)/i
|
||||
], [MODEL, [VENDOR, 'Samsung'], [TYPE, MOBILE]], [
|
||||
@ -389,22 +395,22 @@
|
||||
// Apple
|
||||
/\((ip(?:hone|od)[\s\w]*);/i // iPod/iPhone
|
||||
], [MODEL, [VENDOR, 'Apple'], [TYPE, MOBILE]], [
|
||||
/\((ipad);[\w\s\),;-]+(apple)/i // iPad
|
||||
], [MODEL, VENDOR, [TYPE, TABLET]], [
|
||||
/applecoremedia\/[\w\.]+\s\((ipad)/i
|
||||
/\((ipad);[\w\s\),;-]+apple/i, // iPad
|
||||
/applecoremedia\/[\w\.]+\s\((ipad)/i,
|
||||
/\b(ipad)\d\d?,\d\d?[;\]].+ios/i
|
||||
], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [
|
||||
|
||||
// Huawei
|
||||
/\b((?:agr|ags[23]|bah2?|sht?)-a?[lw]\d{2})/i,
|
||||
], [MODEL, [VENDOR, 'Huawei'], [TYPE, TABLET]], [
|
||||
/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(\w{2,4}-[atu][ln][01259][019])[;\)\s]/i
|
||||
], [MODEL, [VENDOR, 'Huawei'], [TYPE, MOBILE]], [
|
||||
/\b(bah2?-a?[lw]\d{2})/i // Huawei MediaPad
|
||||
], [MODEL, [VENDOR, 'Huawei'], [TYPE, TABLET]], [
|
||||
|
||||
// Xiaomi
|
||||
/\b(poco[\s\w]+)(?:\sbuild|\))/i, // Xiaomi POCO
|
||||
/\b;\s(\w+)\s+build\/hm\1/i, // Xiaomi Hongmi 'numeric' models
|
||||
/\b;\s(\w+)\sbuild\/hm\1/i, // Xiaomi Hongmi 'numeric' models
|
||||
/\b(hm[\s\-_]?note?[\s_]?(?:\d\w)?)\sbuild/i, // Xiaomi Hongmi
|
||||
/\b(redmi[\s\-_]?(?:note|k)?[\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
|
||||
@ -428,31 +434,29 @@
|
||||
|
||||
// Motorola
|
||||
/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)\b[\w\s]+build\//i,
|
||||
/\smot[\s-](\w*)/i,
|
||||
/(moto[\s\w\(\)]+(?=\sbuild|\)))/i,
|
||||
/(xt\d{3,4})\sbuild\//i,
|
||||
/(nexus\s6)/i
|
||||
/\smot(?:orola)?[\s-](\w*)/i,
|
||||
/((?:moto[\s\w\(\)]+|xt\d{3,4}|nexus\s6)(?=\sbuild|\)))/i
|
||||
], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [
|
||||
/\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i
|
||||
], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [
|
||||
|
||||
// LG
|
||||
/((?=lg)?[vl]k\-?\d{3})\s+build|\s3\.[\s\w;-]{10}lg?-([06cv9]{3,4})/i
|
||||
/((?=lg)?[vl]k\-?\d{3})\sbuild|\s3\.[\s\w;-]{10}lg?-([06cv9]{3,4})/i
|
||||
], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [
|
||||
/(nexus\s[45])/i,
|
||||
/(lm-?f100[nv]?|nexus\s[45])/i,
|
||||
/lg[e;\s\/-]+((?!browser|netcast)\w+)/i,
|
||||
/\blg(\-?[\d\w]+)\s+build/i
|
||||
/\blg(\-?[\d\w]+)\sbuild/i
|
||||
], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [
|
||||
|
||||
// Lenovo
|
||||
/(ideatab[\w\-\s]+)/i,
|
||||
/lenovo\s?(s(?:5000|6000)(?:[\w-]+)|tab(?:[\s\w]+)|[\w-]+)/i // Lenovo tablets
|
||||
/lenovo\s?(s(?:5000|6000)(?:[\w-]+)|tab(?:[\s\w]+)|yt[\d\w-]{6}|tb[\d\w-]{6})/i // Lenovo tablets
|
||||
], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [
|
||||
|
||||
// Nokia
|
||||
/(?:maemo|nokia).*(n900|lumia\s\d+)/i,
|
||||
/nokia[\s_-]?([\w\.-]*)/i
|
||||
], [MODEL, [VENDOR, 'Nokia'], [TYPE, MOBILE]], [
|
||||
], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [
|
||||
|
||||
// Google
|
||||
/droid.+;\s(pixel\sc)[\s)]/i // Google Pixel C
|
||||
@ -469,12 +473,13 @@
|
||||
|
||||
// OnePlus
|
||||
/\s(kb2005|in20[12]5|be20[12][59])\b/i,
|
||||
/\ba000(1)\s+build/i, // OnePlus
|
||||
/\ba000(1)\sbuild/i, // OnePlus
|
||||
/\boneplus\s(a\d{4})[\s)]/i
|
||||
], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [
|
||||
|
||||
// Amazon
|
||||
/(alexa)webm/i,
|
||||
/(kf[a-z]{2}wi)(\sbuild\/|\))/i, // Kindle Fire without Silk
|
||||
/(kf[a-z]+)(\sbuild\/|\)).+silk\//i // Kindle Fire HD
|
||||
], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [
|
||||
/(sd|kf)[0349hijorstuw]+(\sbuild\/|\)).+silk\//i // Fire Phone
|
||||
@ -483,11 +488,12 @@
|
||||
// BlackBerry
|
||||
/\((playbook);[\w\s\),;-]+(rim)/i // BlackBerry PlayBook
|
||||
], [MODEL, VENDOR, [TYPE, TABLET]], [
|
||||
/((?:bb[a-f]|st[hv])100-\d)/i,
|
||||
/\(bb10;\s(\w+)/i // BlackBerry 10
|
||||
], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [
|
||||
|
||||
// Asus
|
||||
/\b(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus\s7|padfone|p00c)/i
|
||||
/(?:\b|asus_)(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus\s7|padfone|p00[cj])/i
|
||||
], [MODEL, [VENDOR, 'ASUS'], [TYPE, TABLET]], [
|
||||
/\s(z[es]6[027][01][km][ls]|zenfone\s\d\w?)\b/i
|
||||
], [MODEL, [VENDOR, 'ASUS'], [TYPE, MOBILE]], [
|
||||
@ -512,9 +518,8 @@
|
||||
], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [
|
||||
|
||||
// MIXED
|
||||
/(blackberry)[\s-]?(\w+)/i, // BlackBerry
|
||||
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,
|
||||
// BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
|
||||
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
|
||||
/(hp)\s([\w\s]+\w)/i, // HP iPAQ
|
||||
/(asus)-?(\w+)/i, // Asus
|
||||
/(microsoft);\s(lumia[\s\w]+)/i, // Microsoft Lumia
|
||||
@ -524,8 +529,7 @@
|
||||
], [VENDOR, MODEL, [TYPE, MOBILE]], [
|
||||
|
||||
/(archos)\s(gamepad2?)/i, // Archos
|
||||
/(hp).+(touchpad)/i, // HP TouchPad
|
||||
/(hp).+(tablet)/i, // HP Tablet
|
||||
/(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad
|
||||
/(kindle)\/([\w\.]+)/i, // Kindle
|
||||
/\s(nook)[\w\s]+build\/(\w+)/i, // Nook
|
||||
/(dell)\s(strea[kpr\s\d]*[\dko])/i, // Dell Streak
|
||||
@ -537,6 +541,8 @@
|
||||
|
||||
/\s(surface\sduo)\s/i // Surface Duo
|
||||
], [MODEL, [VENDOR, 'Microsoft'], [TYPE, TABLET]], [
|
||||
/droid\s[\d\.]+;\s(fp\du?)\sbuild/i
|
||||
], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [
|
||||
/\s(u304aa)\sbuild/i // AT&T
|
||||
], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
|
||||
/sie-(\w*)/i // Siemens
|
||||
@ -610,12 +616,11 @@
|
||||
///////////////////
|
||||
|
||||
/smart-tv.+(samsung)/i // Samsung
|
||||
], [VENDOR, [TYPE, SMARTTV], MODEL], [
|
||||
], [VENDOR, [TYPE, SMARTTV]], [
|
||||
/hbbtv.+maple;(\d+)/i
|
||||
], [[MODEL, /^/, 'SmartTV'], [VENDOR, 'Samsung'], [TYPE, SMARTTV]], [
|
||||
/linux;\snetcast.+smarttv/i, // LG SmartTV
|
||||
/lg\snetcast\.tv-201\d/i
|
||||
], [[VENDOR, 'LG'], MODEL, [TYPE, SMARTTV]], [
|
||||
/(?:linux;\snetcast.+smarttv|lg\snetcast\.tv-201\d)/i, // LG SmartTV
|
||||
], [[VENDOR, 'LG'], [TYPE, SMARTTV]], [
|
||||
/(apple)\s?tv/i // Apple TV
|
||||
], [VENDOR, [MODEL, 'Apple TV'], [TYPE, SMARTTV]], [
|
||||
/crkey/i // Google Chromecast
|
||||
@ -640,6 +645,13 @@
|
||||
/droid\s[\d\.]+;\s(wt63?0{2,3})\)/i
|
||||
], [MODEL, [VENDOR, 'Zebra'], [TYPE, WEARABLE]], [
|
||||
|
||||
///////////////////
|
||||
// EMBEDDED
|
||||
///////////////////
|
||||
|
||||
/(tesla)(?:\sqtcarbrowser|\/20[12]\d\.[\w\.-]+)/i // Tesla
|
||||
], [VENDOR, [TYPE, EMBEDDED]], [
|
||||
|
||||
////////////////////
|
||||
// MIXED (GENERIC)
|
||||
///////////////////
|
||||
@ -666,8 +678,8 @@
|
||||
], [VERSION, [NAME, 'Blink']], [
|
||||
|
||||
/(presto)\/([\w\.]+)/i, // Presto
|
||||
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
|
||||
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
|
||||
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
|
||||
/ekioh(flow)\/([\w\.]+)/i, // Flow
|
||||
/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, // KHTML/Tasman/Links
|
||||
/(icab)[\/\s]([23]\.[\d\.]+)/i // iCab
|
||||
], [NAME, VERSION], [
|
||||
@ -696,26 +708,27 @@
|
||||
/(macintosh|mac(?=_powerpc)\s)(?!.+haiku)/i // Mac OS
|
||||
], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [
|
||||
|
||||
// Mobile OSes
|
||||
// Mobile OSes // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki/Sailfish OS
|
||||
/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|sailfish|contiki)[\/\s-]?([\w\.]*)/i,
|
||||
// Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki/Sailfish OS
|
||||
/(blackberry)\w*\/([\w\.]*)/i, // Blackberry
|
||||
/(tizen|kaios)[\/\s]([\w\.]+)/i // Tizen/KaiOS
|
||||
/(tizen|kaios)[\/\s]([\w\.]+)/i, // Tizen/KaiOS
|
||||
/\((series40);/i // Series 40
|
||||
], [NAME, VERSION], [
|
||||
/\(bb(10);/i // BlackBerry 10
|
||||
], [VERSION, [NAME, 'BlackBerry']], [
|
||||
/(?:symbian\s?os|symbos|s60(?=;)|series60)[\/\s-]?([\w\.]*)/i // Symbian
|
||||
], [VERSION, [NAME, 'Symbian']], [
|
||||
/\((series40);/i // Series 40
|
||||
], [NAME], [
|
||||
/mozilla.+\(mobile;.+gecko.+firefox/i // Firefox OS
|
||||
], [[NAME, 'Firefox OS']], [
|
||||
/web0s;.+rt(tv)/i,
|
||||
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i // WebOS
|
||||
], [VERSION, [NAME, 'webOS']], [
|
||||
|
||||
// Google Chromecast
|
||||
/crkey\/([\d\.]+)/i // Google Chromecast
|
||||
], [VERSION, [NAME, 'Chromecast']], [
|
||||
/(cros)\s[\w]+\s([\w\.]+\w)/i // Chromium OS
|
||||
], [[NAME, 'Chromium OS'], VERSION],[
|
||||
|
||||
// Console
|
||||
/(nintendo|playstation)\s([wids345portablevuch]+)/i, // Nintendo/Playstation
|
||||
@ -728,28 +741,19 @@
|
||||
// Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware
|
||||
// Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus
|
||||
/(hurd|linux)\s?([\w\.]*)/i, // Hurd/Linux
|
||||
/(gnu)\s?([\w\.]*)/i // GNU
|
||||
], [NAME, VERSION], [
|
||||
|
||||
/(cros)\s[\w]+\s([\w\.]+\w)/i // Chromium OS
|
||||
], [[NAME, 'Chromium OS'], VERSION],[
|
||||
|
||||
// Solaris
|
||||
/(sunos)\s?([\w\.\d]*)/i // Solaris
|
||||
], [[NAME, 'Solaris'], VERSION], [
|
||||
/(gnu)\s?([\w\.]*)/i, // GNU
|
||||
|
||||
// BSD based
|
||||
/\s([frentopc-]{0,4}bsd|dragonfly)\s?(?!amd|[ix346]{1,2}86)([\w\.]*)/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly
|
||||
], [NAME, VERSION],[
|
||||
|
||||
/\s([frentopc-]{0,4}bsd|dragonfly)\s?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly
|
||||
/(haiku)\s(\w+)/i // Haiku
|
||||
], [NAME, VERSION],[
|
||||
], [NAME, VERSION], [
|
||||
|
||||
// Other
|
||||
/(sunos)\s?([\w\.\d]*)/i // Solaris
|
||||
], [[NAME, 'Solaris'], VERSION], [
|
||||
/((?:open)?solaris)[\/\s-]?([\w\.]*)/i, // Solaris
|
||||
/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i, // AIX
|
||||
/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms|fuchsia)/i,
|
||||
// Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia
|
||||
/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms|fuchsia)/i, // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia
|
||||
/(unix)\s?([\w\.]*)/i // UNIX
|
||||
], [NAME, VERSION]
|
||||
]
|
||||
@ -813,7 +817,7 @@
|
||||
return _ua;
|
||||
};
|
||||
this.setUA = function (ua) {
|
||||
_ua = ua.length > UA_MAX_LENGTH ? util.trim(ua, UA_MAX_LENGTH) : ua;
|
||||
_ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? util.trim(ua, UA_MAX_LENGTH) : ua;
|
||||
return this;
|
||||
};
|
||||
this.setUA(_ua);
|