ua-parser-js
Advanced tools
Comparing version 0.3.0 to 0.3.1
{ | ||
"title": "UA-Parser.js", | ||
"name": "ua-parser-js", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"author": "Faisal Salman <fyzlman@gmail.com> (http://faisalman.com)", | ||
"description": "Lightweight JavaScript-based user-agent parser", | ||
"description": "Lightweight JavaScript-based user-agent string parser", | ||
"keywords": [ | ||
"user-agent", | ||
"user agent", | ||
"parser", | ||
@@ -15,3 +15,3 @@ "browser", | ||
], | ||
"homepage": "http://faisalman.github.com/ua-parser-js", | ||
"homepage": "http://github.com/faisalman/ua-parser-js", | ||
"contributors": [ | ||
@@ -27,2 +27,7 @@ "Faisal Salman <fyzlman@gmail.com>" | ||
], | ||
"repository" : | ||
{ | ||
"type": "git", | ||
"url": "https://github.com/faisalman/ua-parser-js.git" | ||
}, | ||
"licenses": [ | ||
@@ -48,2 +53,2 @@ { | ||
"repository": "git://github.com/faisalman/ua-parser-js.git" | ||
} | ||
} |
# UA-Parser.js | ||
JavaScript-based user-agent parser | ||
Light-weight JavaScript-based all-in-one user-agent parser | ||
* Author : Faisalman <<fyzlman@gmail.com>> | ||
* Home : http://faisalman.github.com/ua-parser-js | ||
* Source : https://github.com/faisalman/ua-parser-js | ||
* License : GPLv2 & MIT | ||
* Source : https://github.com/faisalman/ua-parser-js | ||
* License : GPLv2 & MIT | ||
@@ -32,4 +32,6 @@ ## Features | ||
var parser = new UAParser(); | ||
// by default it takes ua string from current browser's window.navigator | ||
console.log(UAParser.result); | ||
console.log(parser.result); | ||
/* | ||
@@ -43,6 +45,2 @@ /// this will print an object structured like this: | ||
}, | ||
device: { | ||
name: "", | ||
version: "" | ||
}, | ||
engine: { | ||
@@ -65,10 +63,10 @@ name: "", | ||
var uastr = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.10 Chromium/15.0.874.106 Chrome/15.0.874.106 Safari/535.2"; | ||
UAParser.setUA(uastr); | ||
parser.setUA(uastr); | ||
console.log(UAParser.result.browser); // {name: "Chromium", major: "15", version: "15.0.874.106"} | ||
console.log(UAParser.result.engine); // {name: "AppleWebKit", version: "535.2"} | ||
console.log(UAParser.result.os); // {name: "Ubuntu", version: "11.10"} | ||
console.log(parser.result.browser); // {name: "Chromium", major: "15", version: "15.0.874.106"} | ||
console.log(parser.result.engine); // {name: "AppleWebKit", version: "535.2"} | ||
console.log(parser.result.os); // {name: "Ubuntu", version: "11.10"} | ||
// let's take another test please | ||
UAParser.setUA("Mozilla/5.0 (compatible; Konqueror/4.1; OpenBSD) KHTML/4.1.4 (like Gecko)").getOS().name; // prints "OpenBSD" | ||
console.log(parser.setUA("Mozilla/5.0 (compatible; Konqueror/4.1; OpenBSD) KHTML/4.1.4 (like Gecko)").getOS().name); // "OpenBSD" | ||
</script> | ||
@@ -80,12 +78,12 @@ ``` | ||
```js | ||
var parser = require('ua-parser'); | ||
var UAParser = require('ua-parser'); | ||
var parser = new UAParser(); | ||
var ua1 = 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Version/7.1.0.7 Safari/534.11'; | ||
var ua2 = 'Midori/0.2 (X11; Linux; U; cs-cz) WebKit/531.2+'; | ||
parser.setUA(ua1).getDevice().name; // prints "PlayBook" | ||
parser.getOS() // prints {name: "RIM Tablet OS", version: "1.0.0"} | ||
parser.getOS(ua2) // prints {name: "Linux", version: undefined} | ||
parser.getOS() // prints {name: "RIM Tablet OS", version: "1.0.0"} | ||
parser.getEngine().name; // prints "AppleWebKit" | ||
parser.setUA(ua1).getDevice().name; // "PlayBook" | ||
parser.getOS() // {name: "RIM Tablet OS", version: "1.0.0"} | ||
parser.getOS(ua2) // {name: "Linux", version: undefined} | ||
parser.getOS() // {name: "RIM Tablet OS", version: "1.0.0"} | ||
parser.getEngine().name; // "AppleWebKit" | ||
``` | ||
@@ -105,2 +103,2 @@ | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
GNU General Public License for more details. |
@@ -1,3 +0,3 @@ | ||
// UA-Parser.js v0.3.0 | ||
// Lightweight JavaScript-based user-agent parser | ||
// UA-Parser.js v0.3.1 | ||
// Light-weight JavaScript-based all-in-one user-agent parser | ||
// https://github.com/faisalman/ua-parser-js | ||
@@ -8,4 +8,4 @@ // | ||
(function () { | ||
function UAParser (uastring) { | ||
(function (undefined) { | ||
var parser = function UAParser (uastring) { | ||
@@ -101,3 +101,4 @@ var ua = uastring || typeof window !== 'undefined' ? window.navigator.userAgent : ""; | ||
/(chromium|flock|rockmelt|midori|epiphany)\/((\d+)?[\w\.]+)/i, // Chromium/Flock/RockMelt/Midori/Epiphany | ||
/(chrome|omniweb|arora|dolfin)\/((\d+)?[\w\.]+)/i, // Chrome/OmniWeb/Arora/Dolphin | ||
/(chrome|omniweb|arora|dolfin|[tizenaok]{5}\s?browser)\/((\d+)?[\w\.]+)/i, | ||
// Chrome/OmniWeb/Arora/Dolphin/Tizen/Nokia | ||
], ['name', 'version', 'major'], [ | ||
@@ -110,3 +111,4 @@ /(?:android.+crmo|crios)\/((\d+)?[\w\.]+)/i, // Chrome for Android/iOS | ||
// Gecko based | ||
/(iceweasel|camino|fennec|maemo|minimo)[\/\s]?((\d+)?[\w\.\+]+)/i, // Iceweasel/Camino/Fennec/Maemo/Minimo | ||
/(iceweasel|camino|fennec|maemo\sbrowser|minimo)[\/\s]?((\d+)?[\w\.\+]+)/i, | ||
// Iceweasel/Camino/Fennec/Maemo/Minimo | ||
/(firefox|seamonkey|netscape|navigator|k-meleon|icecat|iceape)\/((\d+)?[\w\.]+)/i, | ||
@@ -144,4 +146,5 @@ // Firefox/SeaMonkey/Netscape/K-Meleon/IceCat/IceApe | ||
/(blackberry).+version\/([\w\.]+)/i, // Blackberry | ||
/(android|symbianos|symbos|webos|palm\os|qnx|bada|rim\stablet\sos)[\/\s-]?([\w\.]+)*/i, | ||
// Android/Symbian/WebOS/Palm/QNX/Bada/RIM | ||
/(tizen)\/([\w\.]+)/i, // Tizen | ||
/(android|symbianos|symbos|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i, | ||
// Android/Symbian/WebOS/Palm/QNX/Bada/RIM/MeeGo | ||
/(nintendo|playstation)\s([wids3portable]+)/i, // Nintendo/Playstation | ||
@@ -175,3 +178,4 @@ | ||
// Other | ||
/(macintosh|unix|minix|beos)[\/\s]?()*/i | ||
/(haiku)\s(\w+)/i, // Haiku | ||
/(macintosh|unix|minix|beos)[\/\s]?()*/i // UNIX/Minix/BeOS | ||
], ['name', 'version']); | ||
@@ -186,4 +190,4 @@ }; | ||
/(blackberry)[\s-]?(\w+)/i, // BlackBerry | ||
/(blackberry|benq|nokia|palm(?=\-)|sonyericsson|acer|asus|dell|nexus|zte)[\s_-]?([\w-]+)*/i, | ||
// BenQ/Nokia/Palm/Sony-Ericsson/Acer/Asus/Dell/Nexus/ZTE | ||
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|nexus|zte)[\s_-]?([\w-]+)*/i, | ||
// BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Nexus/ZTE | ||
/(hp)\s([\w\s]+)/i, // HP iPAQ | ||
@@ -213,3 +217,7 @@ /(hp).+(touchpad)/i, // HP TouchPad | ||
/sie-(\w+)*/i // Siemens | ||
], [['name', 'Siemens'], 'version']); | ||
], [['name', 'Siemens'], 'version'], [ | ||
/(?=maemo|nokia).*(n900|lumia\s\d+)/i, // Nokia | ||
/nokia[\s_-]?([\w-]+)*/i | ||
], [['name', 'Nokia'], 'version']); | ||
}; | ||
@@ -230,5 +238,3 @@ | ||
}; | ||
var parser = new UAParser(); | ||
// check whether script is running inside node.js export as module | ||
@@ -235,0 +241,0 @@ if (typeof exports !== 'undefined' && this.toString() !== '[object DOMWindow]') { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Non-existent author
Supply chain riskThe package was published by an npm account that no longer exists.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
15978
202
1
0
99
1