mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
Make undefined undefined & Add Tizen, Haiku, MeeGo, Nokia
This commit is contained in:
parent
9a9844180d
commit
a243a6a7c3
28
ua-parser.js
28
ua-parser.js
@ -6,9 +6,9 @@
|
||||
// Licensed under GPLv2 & MIT
|
||||
|
||||
(function () {
|
||||
function UAParser (uastring) {
|
||||
function UAParser (undefined) {
|
||||
|
||||
var ua = uastring || typeof window !== 'undefined' ? window.navigator.userAgent : "";
|
||||
var ua = typeof window !== 'undefined' ? window.navigator.userAgent : "";
|
||||
|
||||
// regexp mapper
|
||||
var regxMap = function (ua) {
|
||||
@ -97,7 +97,8 @@
|
||||
|
||||
// Webkit/KHTML based
|
||||
/(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'], [
|
||||
/(?:android.+crmo|crios)\/((\d+)?[\w\.]+)/i, // Chrome for Android/iOS
|
||||
], [['name', 'Chrome'], 'version', 'major'], [
|
||||
@ -105,7 +106,8 @@
|
||||
/(applewebkit|khtml)\/((\d+)?[\w\.]+)/i,
|
||||
|
||||
// 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,
|
||||
// Firefox/SeaMonkey/Netscape/K-Meleon/IceCat/IceApe
|
||||
/(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i, // Mozilla
|
||||
@ -138,8 +140,9 @@
|
||||
|
||||
// Mobile/Embedded OS
|
||||
/(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
|
||||
|
||||
// GNU/Linux based
|
||||
@ -168,7 +171,8 @@
|
||||
], ['name', ['version', /_/g, '.']], [
|
||||
|
||||
// Other
|
||||
/(macintosh|unix|minix|beos)[\/\s]?()*/i
|
||||
/(haiku)\s(\w+)/i, // Haiku
|
||||
/(macintosh|unix|minix|beos)[\/\s]?()*/i // UNIX/Minix/BeOS
|
||||
], ['name', 'version']);
|
||||
};
|
||||
|
||||
@ -178,8 +182,8 @@
|
||||
|
||||
/\((ip[honead]+|playbook);/i, // iPod/iPhone/iPad/PlayBook
|
||||
/(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
|
||||
/(hp).+(touchpad)/i, // HP TouchPad
|
||||
/(kindle)\/([\w\.]+)/i, // Kindle
|
||||
@ -204,7 +208,11 @@
|
||||
], [['name', 'Asus'], 'version'], [
|
||||
|
||||
/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']);
|
||||
};
|
||||
|
||||
this.setUA = function (uastring) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user