Compare commits

..

30 Commits

Author SHA1 Message Date
Faisal Salman
fd39be3336 Increment build version: 0.7.10 2015-12-12 17:44:29 +07:00
Faisal Salman
a1293f804e merge develop 2015-12-12 17:40:57 +07:00
Faisal Salman
cf5c1f9e01 Check for tablet first 2015-12-12 17:34:00 +07:00
Faisal Salman
5d3835ad00 Merge pull request #154 from szchenghuang/meteor-export
UAParser is exposed globally to the window object. It can be used directly.
2015-12-12 15:43:09 +07:00
Faisal Salman
09bf4ecf7f Fix #153 mistaken Search phrase for Arch OS 2015-12-12 15:23:11 +07:00
Faisal Salman
43b0ee79d6 Seems to fix the issue for specific UA found in #159 2015-12-12 14:43:16 +07:00
Faisal Salman
9518833e83 Add PhantomJS fix #157 2015-12-12 14:28:39 +07:00
Faisal Salman
1e58e884ef Add PhantomJS support fix #157 2015-12-12 13:39:45 +07:00
szchenghuang
e230cc1920 UAParser is exposed globally to the window object. It can be used directly. 2015-11-20 15:30:28 +08:00
Faisal Salman
bbd3f14cfb Merge pull request #151 from 0x7f/firefox-ios
Fix detection of Firefox on iOS.
2015-11-19 21:38:06 +07:00
Faisal Salman
a66d9b238a Merge pull request #145 from lquinn/general-android-mobile
Treat all Android smartphones as mobile
2015-11-18 23:00:18 +07:00
Maximilian Haupt
ae5bfb3893 Fix detection of Firefox on iOS.
Firefox on iOS' ua string is also matched by the "Safari < 3.0" regular
expression, unfortunately. Reorder the regular expressions so that the
one for FxiOS matches first.
2015-11-13 12:09:32 +01:00
Faisal Salman
e944fededb Merge pull request #148 from shanebo/master
Added hasOwnProperty check in result object for in
2015-11-02 09:39:34 +07:00
Shane Thacker
23160c9fb3 Added hasOwnProperty check
This ensures that the result output is clean of extended type methods
2015-11-01 12:34:54 -06:00
Liam Quinn
01ba36c94d Generalize the check for an unidentifiable mobile or tablet to correctly
categorize unidentifiable Android smartphones as "mobile".
2015-10-29 10:24:44 -04:00
Faisal Salman
99c15dee95 Merge pull request #144 from duzun/master
travis update: node_js stable, cache node_modules, sudo false
2015-10-28 06:25:55 +07:00
Dumitru Uzun
e8bec7e611 travis update: node_js stable, cache node_modules, sudo false 2015-10-22 09:30:52 +03:00
Faisal Salman
f670224d8e Merge pull request #140 from 0x7f/playstation4
Add Playstation 4 support.
2015-10-17 05:31:21 +07:00
Faisal Salman
116b5c695d Merge pull request #141 from 0x7f/fix-nexus-6
Detect Nexus 6 as Motorola only.
2015-10-17 05:31:00 +07:00
Maximilian Haupt
0aafba67fa Detect Nexus 6 as Motorola only.
The commit 3964971c3 added Nexus 6 to LG and Motorola, but it should be
Motorola only, as stated in the according commit message anyways.
2015-10-16 15:01:57 +00:00
Maximilian Haupt
ab6a56d931 Add Playstation 4 support. 2015-10-16 14:14:56 +00:00
Faisal Salman
3bff4cf037 Merge pull request #133 from URXtech/nexus-6
Added Nexus 6 detection
2015-10-13 22:02:42 +07:00
Aamir Poonawalla
3964971c38 Added Nexus 6 detection
Correctly identifies a Nexus 6 device as being a Motorola mobile device.
2015-09-21 13:34:56 -07:00
Faisal Salman
3382b75cad Merge pull request #131 from pieterhendrickx/develop
Added DEVICE regular expressions for "Samsung galaxy S6" and "Samsung…
2015-08-20 20:59:59 +07:00
Pieter Hendrickx
a19c6be712 Added DEVICE regular expressions for "Samsung galaxy S6" and "Samsung Galaxy S6 Edge" devices + test cases 2015-08-20 09:00:16 +02:00
Faisal Salman
20ea67ed1d Merge pull request #130 from malash/ucbrowser
fix support for UCBrowser
2015-08-05 23:36:30 +07:00
Malash
172d63a28f fix support for UCBrowser 2015-08-05 19:47:48 +08:00
Faisal Salman
8e169098b5 Merge pull request #122 from divdavem/phantomjs
Adding PhantomJS (http://phantomjs.org/)
2015-07-04 01:39:06 +07:00
ddivernois
aa1bf53337 Adding PhantomJS (http://phantomjs.org/) 2015-07-01 11:23:56 +02:00
Faisal Salman
22e17fb004 Add Sleipnir 2015-05-11 23:44:34 +07:00
13 changed files with 132 additions and 37 deletions

View File

@@ -1,5 +1,13 @@
language: node_js
node_js:
- "0.10"
- stable
- "0.10"
notifications:
email: false
cache:
directories:
- node_modules
sudo: false

View File

@@ -1,6 +1,6 @@
{
"name": "ua-parser-js",
"version": "0.7.9",
"version": "0.7.10",
"authors": [
"Faisal Salman <fyzlman@gmail.com>"
],

View File

@@ -1,6 +1,6 @@
{
"name": "ua-parser-js",
"version": "0.7.9",
"version": "0.7.10",
"description": "Lightweight JavaScript-based user-agent string parser",
"keywords": [
"user-agent",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +1,11 @@
Package.describe({
name: 'faisalman:ua-parser-js',
version: '0.7.9',
version: '0.7.10',
summary: 'Lightweight JavaScript-based user-agent string parser',
git: 'https://github.com/faisalman/ua-parser-js.git',
documentation: 'readme.md'
});
Package.on_use(function (api) {
api.export("UAParser");
api.addFiles("src/ua-parser.js");
});

View File

@@ -1,7 +1,7 @@
{
"title": "UAParser.js",
"name": "ua-parser-js",
"version": "0.7.9",
"version": "0.7.10",
"author": "Faisal Salman <fyzlman@gmail.com> (http://faisalman.com)",
"description": "Lightweight JavaScript-based user-agent string parser",
"keywords": [

View File

@@ -28,8 +28,8 @@ Firebird, Firefox, Flock, GoBrowser, iCab, ICE Browser, IceApe, IceCat, IceDrago
Iceweasel, IE [Mobile], Iron, Jasmine, K-Meleon, Konqueror, Kindle, Links,
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
PhantomJS, Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, SlimBrowser,
Swiftfox, Tizen, UCBrowser, Vivaldi, w3m, Yandex
# 'browser.version' determined dynamically
```

View File

@@ -1,5 +1,5 @@
/**
* UAParser.js v0.7.9
* UAParser.js v0.7.10
* Lightweight JavaScript-based User-Agent string parser
* https://github.com/faisalman/ua-parser-js
*
@@ -16,7 +16,7 @@
/////////////
var LIBVERSION = '0.7.9',
var LIBVERSION = '0.7.10',
EMPTY = '',
UNKNOWN = '?',
FUNC_TYPE = 'function',
@@ -89,11 +89,13 @@
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;
if (props.hasOwnProperty(p)){
q = props[p];
if (typeof q === OBJ_TYPE) {
result[q[0]] = undefined;
} else {
result[q] = undefined;
}
}
}
}
@@ -249,8 +251,8 @@
// Webkit/KHTML based
/(rekonq)\/([\w\.]+)*/i, // Rekonq
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium)\/([\w\.-]+)/i
// Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs)\/([\w\.-]+)/i
// Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS
], [NAME, VERSION], [
/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i // IE11
@@ -267,10 +269,16 @@
/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i,
// Chrome/OmniWeb/Arora/Tizen/Nokia
/(uc\s?browser|qqbrowser)[\/\s]?([\w\.]+)/i
// UCBrowser/QQBrowser
/(qqbrowser)[\/\s]?([\w\.]+)/i
// QQBrowser
], [NAME, VERSION], [
/(uc\s?browser)[\/\s]?([\w\.]+)/i,
/ucweb.+(ucbrowser)[\/\s]?([\w\.]+)/i,
/JUC.+(ucweb)[\/\s]?([\w\.]+)/i
// UCBrowser
], [[NAME, 'UCBrowser'], VERSION], [
/(dolfin)\/([\w\.]+)/i // Dolphin
], [[NAME, 'Dolphin'], VERSION], [
@@ -286,6 +294,9 @@
/FBAV\/([\w\.]+);/i // Facebook App for iOS
], [VERSION, [NAME, 'Facebook']], [
/fxios\/([\w\.-]+)/i // Firefox for iOS
], [VERSION, [NAME, 'Firefox']], [
/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i // Mobile Safari
], [VERSION, [NAME, 'Mobile Safari']], [
@@ -302,8 +313,6 @@
// Gecko based
/(navigator|netscape)\/([\w\.-]+)/i // Netscape
], [[NAME, 'Netscape'], VERSION], [
/fxios\/([\w\.-]+)/i // Firefox for iOS
], [VERSION, [NAME, 'Firefox']], [
/(swiftfox)/i, // Swiftfox
/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
@@ -312,8 +321,8 @@
/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i, // Mozilla
// Other
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?([\w\.]+)/i,
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir
/(links)\s\(([\w\.]+)/i, // Links
/(gobrowser)\/?([\w\.]+)*/i, // GoBrowser
/(ice\s?browser)\/v?([\w\._]+)/i, // ICE Browser
@@ -511,7 +520,7 @@
/android.+;\s(shield)\sbuild/i // Nvidia
], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [
/(playstation\s[3portablevi]+)/i // Playstation
/(playstation\s[34portablevi]+)/i // Playstation
], [MODEL, [VENDOR, 'Sony'], [TYPE, CONSOLE]], [
/(sprint\s(\w+))/i // Sprint Phones
@@ -537,7 +546,8 @@
// Motorola
/\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
/(XT\d{3,4}) build\//i,
/(nexus\s[6])/i
], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [
/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i
], [MODEL, [VENDOR, 'Motorola'], [TYPE, TABLET]], [
@@ -589,7 +599,8 @@
/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
/\s(tablet)[;\/\s]/i, // Unidentifiable Tablet
/\s(mobile)[;\/\s]/i // Unidentifiable Mobile
], [[TYPE, util.lowerize], VENDOR, MODEL]
/*//////////////////////////
@@ -698,12 +709,12 @@
], [[NAME, 'Firefox OS'], VERSION], [
// Console
/(nintendo|playstation)\s([wids3portablevu]+)/i, // Nintendo/Playstation
/(nintendo|playstation)\s([wids34portablevu]+)/i, // Nintendo/Playstation
// GNU/Linux based
/(mint)[\/\s\(]?(\w+)*/i, // Mint
/(mageia|vectorlinux)[;\s]/i, // Mageia/VectorLinux
/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i,
/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i,
// Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware
// Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus
/(hurd|linux)\s?([\w\.]+)*/i, // Hurd/Linux
@@ -721,7 +732,7 @@
/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly
], [NAME, VERSION],[
/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i // iOS
/(ip[honead]+)(?:.*os\s([\w]+)*\slike\smac|;\sopera)/i // iOS
], [[NAME, 'iOS'], [VERSION, /_/g, '.']], [
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,

View File

@@ -539,6 +539,16 @@
"major" : "11"
}
},
{
"desc" : "PhantomJS",
"ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.2 Safari/534.34",
"expect" :
{
"name" : "PhantomJS",
"version" : "1.9.2",
"major" : "1"
}
},
{
"desc" : "Phoenix",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021029 Phoenix/0.4",
@@ -664,11 +674,31 @@
"ua" : "Mozilla/5.0 (S60V3; U; en-in; NokiaN73)/UC Browser8.4.0.159/28/351/UCWEB Mobile",
"expect" :
{
"name" : "UC Browser",
"name" : "UCBrowser",
"version" : "8.4.0.159",
"major" : "8"
}
},
{
"desc" : "UC Browser J2ME",
"ua" : "UCWEB/2.0 (MIDP-2.0; U; zh-CN; HTC EVO 3D X515m) U2/1.0.0 UCBrowser/10.4.0.558 U2/1.0.0 Mobile",
"expect" :
{
"name" : "UCBrowser",
"version" : "10.4.0.558",
"major" : "10"
}
},
{
"desc" : "UC Browser J2ME 2",
"ua" : "JUC (Linux; U; 2.3.5; zh-cn; GT-I9100; 480*800) UCWEB7.9.0.94/139/800",
"expect" :
{
"name" : "UCBrowser",
"version" : "7.9.0.94",
"major" : "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",
@@ -708,5 +738,15 @@
"version" : "43.8",
"major" : "43"
}
},
{
"desc" : "Firefox iOS",
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) FxiOS/1.1 Mobile/13B143 Safari/601.1.46",
"expect" :
{
"name" : "Firefox",
"version" : "1.1",
"major" : "1"
}
}
]

View File

@@ -39,6 +39,16 @@
"type" : "mobile"
}
},
{
"desc" : "Motorola Nexus 6",
"ua" : "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.20 Mobile Safari/537.36",
"expect" :
{
"vendor" : "Motorola",
"model" : "Nexus 6",
"type" : "mobile"
}
},
{
"desc" : "Motorola Droid RAZR 4G",
"ua" : "Mozilla/5.0 (Linux; U; Android 2.3; xx-xx; DROID RAZR 4G Build/6.5.1-73_DHD-11_M1-29) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
@@ -238,5 +248,25 @@
"model" : "MI-ONE Plus",
"type" : "mobile"
}
},
{
"desc" : "PlayStation 4",
"ua" : "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)",
"expect" :
{
"vendor" : "Sony",
"model" : "PlayStation 4",
"type" : "console"
}
},
{
"desc" : "Galaxy Nexus",
"ua" : "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19",
"expect" :
{
"vendor" : "Samsung",
"model" : "Galaxy Nexus",
"type" : "mobile"
}
}
]

View File

@@ -251,6 +251,15 @@
"version" : ""
}
},
{
"desc" : "PlayStation 4",
"ua" : "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)",
"expect" :
{
"name" : "PlayStation",
"version" : "4"
}
},
{
"desc" : "Mint",
"ua" : "",

View File

@@ -1,7 +1,7 @@
{
"title": "UAParser.js",
"name": "ua-parser-js",
"version": "0.7.9",
"version": "0.7.10",
"description": "Lightweight JavaScript-based user-agent string parser",
"keywords": [
"user-agent",