Add more companies to showcase

This commit is contained in:
Faisal Salman 2021-04-10 21:20:59 +07:00
parent cf2d82912d
commit c3208a2e01
19 changed files with 195 additions and 104 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 96 KiB

BIN
images/companies/disney.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 25 KiB

BIN
images/companies/grab.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
images/companies/hpe.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
images/companies/intuit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
images/companies/line.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
images/companies/olx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 45 KiB

BIN
images/companies/uber.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -4,15 +4,15 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <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="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" /> <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. Supports browser & node.js environment. </title> <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="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="semantic-ui/semantic.css">
<link rel="stylesheet" type="text/css" href="css/style.css"> <link rel="stylesheet" type="text/css" href="css/style.css">
<script src="js/jquery-3.6.0.min.js"></script> <script src="js/jquery-3.6.0.min.js"></script>
<script src="semantic-ui/semantic.js"></script> <script src="semantic-ui/semantic.js"></script>
<script src="js/clipboard.min.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/ua-list-example.js"></script>
<script src="js/script.js"></script> <script src="js/script.js"></script>
</head> </head>
@ -23,7 +23,7 @@
<h1 class="ui inverted header"> <h1 class="ui inverted header">
What <span class="ui massive black label">device.type</span> am I using? What <span class="ui massive black label">device.type</span> am I using?
</h1> </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"> <div class="ui large buttons">
<a class="ui labeled icon violet button" href="https://github.com/faisalman/ua-parser-js" target="_blank"> <a class="ui labeled icon violet button" href="https://github.com/faisalman/ua-parser-js" target="_blank">
<i class="download icon"></i> <i class="download icon"></i>
@ -356,14 +356,6 @@
</div> </div>
</div> </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"> <div class="column">
<img src="images/companies/shopify.png"/> <img src="images/companies/shopify.png"/>
<div class="ui popup"> <div class="ui popup">
@ -380,6 +372,15 @@
</div> </div>
</div> </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>
<div class="row"> <div class="row">
<div class="column"> <div class="column">
@ -483,10 +484,10 @@
</div> </div>
<div class="row"> <div class="row">
<div class="column"> <div class="column">
<img src="images/companies/postman.png"/> <img src="images/companies/scribd.png"/>
<div class="ui popup"> <div class="ui popup">
<div class="ui labeled icon small buttons"> <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> </div>
</div> </div>
@ -498,14 +499,6 @@
</div> </div>
</div> </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"> <div class="column">
<img src="images/companies/imgur.png"/> <img src="images/companies/imgur.png"/>
<div class="ui popup"> <div class="ui popup">
@ -522,6 +515,14 @@
</div> </div>
</div> </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"> <div class="column">
<img src="images/companies/pinterest.png"/> <img src="images/companies/pinterest.png"/>
<div class="ui popup"> <div class="ui popup">
@ -533,10 +534,27 @@
</div> </div>
<div class="row"> <div class="row">
<div class="column"> <div class="column">
<img src="images/companies/scribd.png"/> <img src="images/companies/uber.png"/>
<div class="ui popup"> <div class="ui popup">
<div class="ui labeled icon small buttons"> <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> </div>
</div> </div>
@ -560,7 +578,41 @@
<img src="images/companies/expedia.png"/> <img src="images/companies/expedia.png"/>
<div class="ui popup"> <div class="ui popup">
<div class="ui labeled icon small buttons"> <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> </div>
</div> </div>
@ -576,12 +628,21 @@
<img src="images/companies/bukalapak.png"/> <img src="images/companies/bukalapak.png"/>
<div class="ui popup"> <div class="ui popup">
<div class="ui labeled icon small buttons"> <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> </div>
</div> </div>
<div class="row"> <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"> <div class="column">
<img src="images/companies/here.png"/> <img src="images/companies/here.png"/>
<div class="ui popup"> <div class="ui popup">
@ -591,13 +652,39 @@
</div> </div>
</div> </div>
<div class="column"> <div class="column">
<img src="images/companies/jetbrains.png"/> <img src="images/companies/postman.png"/>
<div class="ui popup"> <div class="ui popup">
<div class="ui labeled icon small buttons"> <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>
</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"> <div class="column">
<img src="images/companies/dell.png"/> <img src="images/companies/dell.png"/>
<div class="ui popup"> <div class="ui popup">
@ -631,18 +718,18 @@
</div> </div>
</div> </div>
<div class="column"> <div class="column">
<img src="images/companies/neo4j.png"/> <img src="images/companies/hpe.png"/>
<div class="ui popup"> <div class="ui popup">
<div class="ui labeled icon small buttons"> <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>
</div> </div>
<div class="column"> <div class="column">
<img src="images/companies/mongodb.png"/> <img src="images/companies/verizon.png"/>
<div class="ui popup"> <div class="ui popup">
<div class="ui labeled icon small buttons"> <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> </div>
</div> </div>

View File

@ -1,5 +1,5 @@
/*!@license /*!@license
* UAParser.js v0.7.26 * UAParser.js v0.7.28
* Lightweight JavaScript-based User-Agent string parser * Lightweight JavaScript-based User-Agent string parser
* https://github.com/faisalman/ua-parser-js * https://github.com/faisalman/ua-parser-js
* *
@ -16,7 +16,7 @@
///////////// /////////////
var LIBVERSION = '0.7.26', var LIBVERSION = '0.7.28',
EMPTY = '', EMPTY = '',
UNKNOWN = '?', UNKNOWN = '?',
FUNC_TYPE = 'function', FUNC_TYPE = 'function',
@ -215,16 +215,16 @@
/\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS /\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
], [VERSION, [NAME, 'Chrome']], [ ], [VERSION, [NAME, 'Chrome']], [
/(?:edgios|edga|edg)\/([\w\.]+)/i // Microsoft Edge /edg(?:e|ios|a)?\/([\w\.]+)/i // Microsoft Edge
], [VERSION, [NAME, 'Edge']], [ ], [VERSION, [NAME, 'Edge']], [
/edge\/([\w\.]+)/i // Old Edge (Trident) // breaking change (reserved for next major release):
], [[VERSION, mapper.str, maps.browser.oldEdge.version], [NAME, 'Edge']], [ ///edge\/([\w\.]+)/i // Old Edge (Trident)
//], [[VERSION, mapper.str, maps.browser.oldEdge.version], [NAME, 'Edge']], [
// Presto based // Presto based
/(opera\smini)\/([\w\.-]+)/i, // Opera Mini /(opera\smini)\/([\w\.-]+)/i, // Opera Mini
/(opera\s[mobiletab]{3,6})\b.+version\/([\w\.-]+)/i, // Opera Mobi/Tablet /(opera\s[mobiletab]{3,6})\b.+version\/([\w\.-]+)/i, // Opera Mobi/Tablet
/(opera).+version\/([\w\.]+)/i, // Opera > 9.80 /(opera)(?:.+version\/|[\/\s]+)([\w\.]+)/i, // Opera
/(opera)[\/\s]+([\w\.]+)/i // Opera < 9.80
], [NAME, VERSION], [ ], [NAME, VERSION], [
/opios[\/\s]+([\w\.]+)/i // Opera mini on iphone >= 8.0 /opios[\/\s]+([\w\.]+)/i // Opera mini on iphone >= 8.0
], [VERSION, [NAME, 'Opera Mini']], [ ], [VERSION, [NAME, 'Opera Mini']], [
@ -233,15 +233,15 @@
// Mixed // Mixed
/(kindle)\/([\w\.]+)/i, // Kindle /(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 // Trident based
/(avant\s|iemobile|slim)(?:browser)?[\/\s]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser /(avant\s|iemobile|slim)(?:browser)?[\/\s]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
/(ba?idubrowser)[\/\s]?([\w\.]+)/i, // Baidu Browser /(ba?idubrowser)[\/\s]?([\w\.]+)/i, // Baidu Browser
/(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer /(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer
// Webkit/KHTML based // Webkit/KHTML based
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i, /(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/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
/(rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([\w\.]+)/i, // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ /(rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([\w\.]+)/i, // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
/(weibo)__([\d\.]+)/i // Weibo /(weibo)__([\d\.]+)/i // Weibo
], [NAME, VERSION], [ ], [NAME, VERSION], [
@ -279,6 +279,8 @@
], [[NAME, /(.+)/, '$1 Browser'], VERSION], [ // Oculus/Samsung/Sailfish Browser ], [[NAME, /(.+)/, '$1 Browser'], VERSION], [ // Oculus/Samsung/Sailfish Browser
/(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon /(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
], [[NAME, /_/g, ' '], VERSION], [ ], [[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 /m?(qqbrowser|baiduboxapp|2345Explorer)[\/\s]?([\w\.]+)/i // QQBrowser/Baidu App/2345 Browser
], [NAME, VERSION], [ ], [NAME, VERSION], [
/(MetaSr)[\/\s]?([\w\.]+)/i, // SouGouBrowser /(MetaSr)[\/\s]?([\w\.]+)/i, // SouGouBrowser
@ -287,12 +289,12 @@
// 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
/safari\s(line)\/([\w\.]+)/i, // Line App for iOS /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], [ ], [NAME, VERSION], [
/\bgsa\/([\w\.]+)\s.*safari\//i // Google Search Appliance on iOS /\bgsa\/([\w\.]+)\s.*safari\//i // Google Search Appliance on iOS
], [VERSION, [NAME, 'GSA']], [ ], [VERSION, [NAME, 'GSA']], [
@ -322,6 +324,9 @@
// Gecko based // Gecko based
/(navigator|netscape)\/([\w\.-]+)/i // Netscape /(navigator|netscape)\/([\w\.-]+)/i // Netscape
], [[NAME, 'Netscape'], VERSION], [ ], [[NAME, 'Netscape'], VERSION], [
/ile\svr;\srv:([\w\.]+)\).+firefox/i // Firefox Reality
], [VERSION, [NAME, 'Firefox Reality']], [
/ekiohf.+(flow)\/([\w\.]+)/i, // Flow
/(swiftfox)/i, // Swiftfox /(swiftfox)/i, // Swiftfox
/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
@ -373,15 +378,16 @@
], ],
device : [[ device : [[
////////////////////// //////////////////////////
// MOBILES & TABLETS // MOBILES & TABLETS
///////////////////// // Ordered by popularity
/////////////////////////
// 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-[pt]\w{2,4}|gt-[pn]\d{2,4}|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, /\b((?:s[cgp]h|gt|sm)-\w+|galaxy\snexus)/i,
/\ssamsung[\s-]([\w-]+)/i, /\ssamsung[\s-]([\w-]+)/i,
/sec-(sgh\w+)/i /sec-(sgh\w+)/i
], [MODEL, [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'Samsung'], [TYPE, MOBILE]], [
@ -389,22 +395,22 @@
// Apple // Apple
/\((ip(?:hone|od)[\s\w]*);/i // iPod/iPhone /\((ip(?:hone|od)[\s\w]*);/i // iPod/iPhone
], [MODEL, [VENDOR, 'Apple'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'Apple'], [TYPE, MOBILE]], [
/\((ipad);[\w\s\),;-]+(apple)/i // iPad /\((ipad);[\w\s\),;-]+apple/i, // iPad
], [MODEL, VENDOR, [TYPE, TABLET]], [ /applecoremedia\/[\w\.]+\s\((ipad)/i,
/applecoremedia\/[\w\.]+\s\((ipad)/i /\b(ipad)\d\d?,\d\d?[;\]].+ios/i
], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [ ], [MODEL, [VENDOR, 'Apple'], [TYPE, TABLET]], [
// Huawei // Huawei
/\b((?:agr|ags[23]|bah2?|sht?)-a?[lw]\d{2})/i,
], [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
/\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(hm[\s\-_]?note?[\s_]?(?:\d\w)?)\sbuild/i, // Xiaomi Hongmi
/\b(redmi[\s\-_]?(?:note|k)?[\w\s_]+)(?:\sbuild|\))/i, // Xiaomi Redmi /\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 /\b(mi[\s\-_]?(?:a\d|one|one[\s_]plus|note lte)?[\s_]?(?:\d?\w?)[\s_]?(?:plus)?)\sbuild/i // Xiaomi Mi
@ -421,38 +427,36 @@
/\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]], [
// Motorola // Motorola
/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)\b[\w\s]+build\//i, /\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)\b[\w\s]+build\//i,
/\smot[\s-](\w*)/i, /\smot(?:orola)?[\s-](\w*)/i,
/(moto[\s\w\(\)]+(?=\sbuild|\)))/i, /((?:moto[\s\w\(\)]+|xt\d{3,4}|nexus\s6)(?=\sbuild|\)))/i
/(xt\d{3,4})\sbuild\//i,
/(nexus\s6)/i
], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [
/\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i /\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i
], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [ ], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [
// LG // 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]], [ ], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [
/(nexus\s[45])/i, /(lm-?f100[nv]?|nexus\s[45])/i,
/lg[e;\s\/-]+((?!browser|netcast)\w+)/i, /lg[e;\s\/-]+((?!browser|netcast)\w+)/i,
/\blg(\-?[\d\w]+)\s+build/i /\blg(\-?[\d\w]+)\sbuild/i
], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [
// Lenovo // Lenovo
/(ideatab[\w\-\s]+)/i, /(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]], [ ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [
// Nokia // Nokia
/(?:maemo|nokia).*(n900|lumia\s\d+)/i, /(?:maemo|nokia).*(n900|lumia\s\d+)/i,
/nokia[\s_-]?([\w\.-]*)/i /nokia[\s_-]?([\w\.-]*)/i
], [MODEL, [VENDOR, 'Nokia'], [TYPE, MOBILE]], [ ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [
// Google // Google
/droid.+;\s(pixel\sc)[\s)]/i // Google Pixel C /droid.+;\s(pixel\sc)[\s)]/i // Google Pixel C
@ -469,12 +473,13 @@
// OnePlus // OnePlus
/\s(kb2005|in20[12]5|be20[12][59])\b/i, /\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 /\boneplus\s(a\d{4})[\s)]/i
], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [
// 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
@ -483,11 +488,12 @@
// BlackBerry // BlackBerry
/\((playbook);[\w\s\),;-]+(rim)/i // BlackBerry PlayBook /\((playbook);[\w\s\),;-]+(rim)/i // BlackBerry PlayBook
], [MODEL, VENDOR, [TYPE, TABLET]], [ ], [MODEL, VENDOR, [TYPE, TABLET]], [
/((?:bb[a-f]|st[hv])100-\d)/i,
/\(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|asus_)(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus\s7|padfone|p00[cj])/i
], [MODEL, [VENDOR, 'ASUS'], [TYPE, TABLET]], [ ], [MODEL, [VENDOR, 'ASUS'], [TYPE, TABLET]], [
/\s(z[es]6[027][01][km][ls]|zenfone\s\d\w?)\b/i /\s(z[es]6[027][01][km][ls]|zenfone\s\d\w?)\b/i
], [MODEL, [VENDOR, 'ASUS'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'ASUS'], [TYPE, MOBILE]], [
@ -512,9 +518,8 @@
], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [
// MIXED // MIXED
/(blackberry)[\s-]?(\w+)/i, // BlackBerry
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i, /(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 /(hp)\s([\w\s]+\w)/i, // HP iPAQ
/(asus)-?(\w+)/i, // Asus /(asus)-?(\w+)/i, // Asus
/(microsoft);\s(lumia[\s\w]+)/i, // Microsoft Lumia /(microsoft);\s(lumia[\s\w]+)/i, // Microsoft Lumia
@ -524,8 +529,7 @@
], [VENDOR, MODEL, [TYPE, MOBILE]], [ ], [VENDOR, MODEL, [TYPE, MOBILE]], [
/(archos)\s(gamepad2?)/i, // Archos /(archos)\s(gamepad2?)/i, // Archos
/(hp).+(touchpad)/i, // HP TouchPad /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad
/(hp).+(tablet)/i, // HP Tablet
/(kindle)\/([\w\.]+)/i, // Kindle /(kindle)\/([\w\.]+)/i, // Kindle
/\s(nook)[\w\s]+build\/(\w+)/i, // Nook /\s(nook)[\w\s]+build\/(\w+)/i, // Nook
/(dell)\s(strea[kpr\s\d]*[\dko])/i, // Dell Streak /(dell)\s(strea[kpr\s\d]*[\dko])/i, // Dell Streak
@ -537,6 +541,8 @@
/\s(surface\sduo)\s/i // Surface Duo /\s(surface\sduo)\s/i // Surface Duo
], [MODEL, [VENDOR, 'Microsoft'], [TYPE, TABLET]], [ ], [MODEL, [VENDOR, 'Microsoft'], [TYPE, TABLET]], [
/droid\s[\d\.]+;\s(fp\du?)\sbuild/i
], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [
/\s(u304aa)\sbuild/i // AT&T /\s(u304aa)\sbuild/i // AT&T
], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [ ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
/sie-(\w*)/i // Siemens /sie-(\w*)/i // Siemens
@ -610,12 +616,11 @@
/////////////////// ///////////////////
/smart-tv.+(samsung)/i // Samsung /smart-tv.+(samsung)/i // Samsung
], [VENDOR, [TYPE, SMARTTV], MODEL], [ ], [VENDOR, [TYPE, SMARTTV]], [
/hbbtv.+maple;(\d+)/i /hbbtv.+maple;(\d+)/i
], [[MODEL, /^/, 'SmartTV'], [VENDOR, 'Samsung'], [TYPE, SMARTTV]], [ ], [[MODEL, /^/, 'SmartTV'], [VENDOR, 'Samsung'], [TYPE, SMARTTV]], [
/linux;\snetcast.+smarttv/i, // LG SmartTV /(?:linux;\snetcast.+smarttv|lg\snetcast\.tv-201\d)/i, // LG SmartTV
/lg\snetcast\.tv-201\d/i ], [[VENDOR, 'LG'], [TYPE, SMARTTV]], [
], [[VENDOR, 'LG'], MODEL, [TYPE, SMARTTV]], [
/(apple)\s?tv/i // Apple TV /(apple)\s?tv/i // Apple TV
], [VENDOR, [MODEL, 'Apple TV'], [TYPE, SMARTTV]], [ ], [VENDOR, [MODEL, 'Apple TV'], [TYPE, SMARTTV]], [
/crkey/i // Google Chromecast /crkey/i // Google Chromecast
@ -640,6 +645,13 @@
/droid\s[\d\.]+;\s(wt63?0{2,3})\)/i /droid\s[\d\.]+;\s(wt63?0{2,3})\)/i
], [MODEL, [VENDOR, 'Zebra'], [TYPE, WEARABLE]], [ ], [MODEL, [VENDOR, 'Zebra'], [TYPE, WEARABLE]], [
///////////////////
// EMBEDDED
///////////////////
/(tesla)(?:\sqtcarbrowser|\/20[12]\d\.[\w\.-]+)/i // Tesla
], [VENDOR, [TYPE, EMBEDDED]], [
//////////////////// ////////////////////
// MIXED (GENERIC) // MIXED (GENERIC)
/////////////////// ///////////////////
@ -666,8 +678,8 @@
], [VERSION, [NAME, 'Blink']], [ ], [VERSION, [NAME, 'Blink']], [
/(presto)\/([\w\.]+)/i, // Presto /(presto)\/([\w\.]+)/i, // Presto
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, /(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 /ekioh(flow)\/([\w\.]+)/i, // Flow
/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, // KHTML/Tasman/Links /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, // KHTML/Tasman/Links
/(icab)[\/\s]([23]\.[\d\.]+)/i // iCab /(icab)[\/\s]([23]\.[\d\.]+)/i // iCab
], [NAME, VERSION], [ ], [NAME, VERSION], [
@ -696,26 +708,27 @@
/(macintosh|mac(?=_powerpc)\s)(?!.+haiku)/i // Mac OS /(macintosh|mac(?=_powerpc)\s)(?!.+haiku)/i // Mac OS
], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [ ], [[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\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 /(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], [ ], [NAME, VERSION], [
/\(bb(10);/i // BlackBerry 10 /\(bb(10);/i // BlackBerry 10
], [VERSION, [NAME, 'BlackBerry']], [ ], [VERSION, [NAME, 'BlackBerry']], [
/(?:symbian\s?os|symbos|s60(?=;)|series60)[\/\s-]?([\w\.]*)/i // Symbian /(?:symbian\s?os|symbos|s60(?=;)|series60)[\/\s-]?([\w\.]*)/i // Symbian
], [VERSION, [NAME, 'Symbian']], [ ], [VERSION, [NAME, 'Symbian']], [
/\((series40);/i // Series 40
], [NAME], [
/mozilla.+\(mobile;.+gecko.+firefox/i // Firefox OS /mozilla.+\(mobile;.+gecko.+firefox/i // Firefox OS
], [[NAME, 'Firefox OS']], [ ], [[NAME, 'Firefox OS']], [
/web0s;.+rt(tv)/i,
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i // WebOS /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i // WebOS
], [VERSION, [NAME, 'webOS']], [ ], [VERSION, [NAME, 'webOS']], [
// Google Chromecast // Google Chromecast
/crkey\/([\d\.]+)/i // Google Chromecast /crkey\/([\d\.]+)/i // Google Chromecast
], [VERSION, [NAME, 'Chromecast']], [ ], [VERSION, [NAME, 'Chromecast']], [
/(cros)\s[\w]+\s([\w\.]+\w)/i // Chromium OS
], [[NAME, 'Chromium OS'], VERSION],[
// Console // Console
/(nintendo|playstation)\s([wids345portablevuch]+)/i, // Nintendo/Playstation /(nintendo|playstation)\s([wids345portablevuch]+)/i, // Nintendo/Playstation
@ -728,28 +741,19 @@
// Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware // Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware
// Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus // Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus
/(hurd|linux)\s?([\w\.]*)/i, // Hurd/Linux /(hurd|linux)\s?([\w\.]*)/i, // Hurd/Linux
/(gnu)\s?([\w\.]*)/i // GNU /(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], [
// BSD based // BSD based
/\s([frentopc-]{0,4}bsd|dragonfly)\s?(?!amd|[ix346]{1,2}86)([\w\.]*)/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly /\s([frentopc-]{0,4}bsd|dragonfly)\s?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly
], [NAME, VERSION],[
/(haiku)\s(\w+)/i // Haiku /(haiku)\s(\w+)/i // Haiku
], [NAME, VERSION],[ ], [NAME, VERSION], [
// Other // Other
/(sunos)\s?([\w\.\d]*)/i // Solaris
], [[NAME, 'Solaris'], VERSION], [
/((?:open)?solaris)[\/\s-]?([\w\.]*)/i, // Solaris /((?:open)?solaris)[\/\s-]?([\w\.]*)/i, // Solaris
/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i, // AIX /(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i, // AIX
/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms|fuchsia)/i, /(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms|fuchsia)/i, // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia
// Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS/Fuchsia
/(unix)\s?([\w\.]*)/i // UNIX /(unix)\s?([\w\.]*)/i // UNIX
], [NAME, VERSION] ], [NAME, VERSION]
] ]
@ -765,11 +769,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;
@ -813,7 +817,7 @@
return _ua; return _ua;
}; };
this.setUA = function (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; return this;
}; };
this.setUA(_ua); this.setUA(_ua);