1
0
mirror of https://github.com/lancedikson/bowser synced 2026-03-02 03:40:27 +00:00

added detection for tizen and a new tizen flag

This commit is contained in:
BendingBender
2014-02-25 01:48:35 +01:00
parent 6b0bc2ee9b
commit e39d6a8fc0
5 changed files with 84 additions and 22 deletions

View File

@@ -35,7 +35,8 @@
, windowsphone = /windows phone/i.test(ua)
, blackberry = /(blackberry|\bbb\d+)/i.test(ua)
, rimtablet = /rim\stablet/i.test(ua)
, bada = /bada\//i.test(ua)
, bada = /bada/i.test(ua)
, tizen = /tizen/i.test(ua)
, webkitVersion = /version\/(\d+(\.\d+)?)/i
, firefoxVersion = /(?:firefox|iceweasel)[ \/](\d+(\.\d+)?)/i
, mobile = /mobi/i.test(ua)
@@ -139,6 +140,14 @@
};
touchpad && (o.touchpad = t)
}
else if (tizen) {
o = {
name: 'Tizen'
, webkit: t
, tizen: t
, version: getVersion(ua, /(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i, 1) || getVersion(ua, webkitVersion, 1)
};
}
else if (gecko) {
o = {
name: 'Gecko'
@@ -176,14 +185,8 @@
// OS version extraction
var osVersion;
if (android) {
osVersion = getVersion(ua, /android[ \/-](\d+(\.\d+)*)/i, 1);
if (osVersion) {
o.osversion = osVersion;
}
} else if (iphone || ipad || ipod) {
osVersion = getVersion(ua, /os (\d+([_\s]\d+)*) like mac os x/i, 1);
osVersion = (osVersion || "").replace(/[_\s]/g, '.');
if (tizen) {
osVersion = getVersion(ua, /tizen[\/\s](\d+(\.\d+)*)/i, 1);
} else if (windowsphone) {
osVersion = getVersion(ua, /windows phone (?:os)?\s?(\d+(\.\d+)*)/i, 1);
} else if (webos) {
@@ -192,6 +195,12 @@
osVersion = getVersion(ua, /rim\stablet\sos\s(\d+(\.\d+)*)/i, 1);
} else if (bada) {
osVersion = getVersion(ua, /bada\/(\d+(\.\d+)*)/i, 1);
} else if (iphone || ipad || ipod) {
osVersion = getVersion(ua, /os (\d+([_\s]\d+)*) like mac os x/i, 1);
osVersion = (osVersion || "").replace(/[_\s]/g, '.');
} else if (android) {
osVersion = getVersion(ua, /android[ \/-](\d+(\.\d+)*)/i, 1);
osVersion && (o.osversion = osVersion)
}
if (osVersion) {
o.osversion = osVersion;
@@ -201,7 +210,7 @@
var osMajorVersion = (osVersion || '').split('.')[0];
if (tablet || ipad || (android && (osMajorVersion == 3 || (osMajorVersion == 4 && !mobile))) || rimtablet || silk || touchpad) {
o.tablet = t
} else if (iphone || ipod || (android && mobile) || windowsphone || blackberry || webos || bada || mobile) {
} else if (iphone || ipod || (android && mobile) || windowsphone || blackberry || webos || bada || tizen || mobile) {
o.mobile = t
}