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

added tests and detection for mobile firefox and mobile chrome

This commit is contained in:
BendingBender
2014-02-21 00:02:13 +01:00
parent 4fdd74d05a
commit 4acca40a99
4 changed files with 136 additions and 41 deletions

View File

@@ -34,6 +34,8 @@
, mobile = /mobile/i.test(ua)
, o = {}
if (ipod) iphone = false
if (windowsphone) o = {
name: 'Windows Phone'
, windowsphone: t
@@ -51,11 +53,11 @@
, version: v
}
if (android) {
o.android = true
o.mobile = true
o.android = t
o.mobile = t
}
if (chrome) {
o.webkit = true
o.webkit = t
}
} else if (ie) o = {
name: 'Internet Explorer'
@@ -69,7 +71,9 @@
, version: ua.match(/(?:chrome|crios)\/(\d+(\.\d+)?)/i)[1]
, ipad: ipad
, iphone: iphone
, ios: !!ua.match(/crios/i)
, ipod: ipod
, ios: iphone || ipad || ipod
, android: android
, mobile: mobile
}
else if (phantom) o = {
@@ -92,7 +96,6 @@
, version : ua.match(/silk\/(\d+(\.\d+)?)/i)[1]
}
else if (iphone || ipad || ipod) {
if (ipod) iphone = false
o = {
name : iphone ? 'iPhone' : ipad ? 'iPad' : 'iPod'
, webkit: t
@@ -127,19 +130,6 @@
, webos: t
, version: (ua.match(webkitVersion) || ua.match(/wosbrowser\/(\d+(\.\d+)?)/i))[1]
}
else if (android) o = {
name: 'Android'
, webkit: t
, android: t
, mobile: t
, version: (ua.match(webkitVersion) || ua.match(firefoxVersion))[1]
}
else if (safari) o = {
name: 'Safari'
, webkit: t
, safari: t
, version: ((v = ua.match(webkitVersion)) ? v[1] : 0)
}
else if (gecko) {
o = {
name: 'Gecko'
@@ -151,7 +141,24 @@
o.name = 'Firefox';
o.firefox = t;
}
if (android) {
o.android = t
o.mobile = t
}
}
else if (android) o = {
name: 'Android'
, webkit: t
, android: t
, mobile: t
, version: ua.match(webkitVersion)[1]
}
else if (safari) o = {
name: 'Safari'
, webkit: t
, safari: t
, version: ((v = ua.match(webkitVersion)) ? v[1] : 0)
}
else if (seamonkey) o = {
name: 'SeaMonkey'
, seamonkey: t

View File

@@ -7,21 +7,73 @@
*/
module.exports.useragents = {
Chrome: {
'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36': {
'Mozilla/5.0 (Linux; Android 4.3; Galaxy Nexus Build/JWR66Y) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Mobile Safari/537.36': {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: true
, mobile: true
, version: '32.0'
, webkit: true
, a: true
}
, 'Mozilla/5.0 (Linux; Android 4.1; Galaxy Nexus Build/JRN84D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19': {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: true
, mobile: true
, version: '18.0'
, webkit: true
, c: true
}
, 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3': {
chrome: true
, ipad: false
, iphone: true
, ipod: false
, ios: true
, android: false
, mobile: true
, version: '19.0'
, webkit: true
, c: true
}
, 'Mozilla/5.0 (iPad; U; CPU OS 5_1_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3': {
chrome: true
, ipad: true
, iphone: false
, ipod: false
, ios: true
, android: false
, mobile: true
, version: '19.0'
, webkit: true
, c: true
}
, 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36': {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: false
, mobile: false
, version: '30.0'
, webkit: true
, a: true
}
}
, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36': {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: false
, mobile: false
, version: '29.0'
, webkit: true
@@ -31,7 +83,9 @@ module.exports.useragents = {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: false
, mobile: false
, version: '29.0'
, webkit: true
@@ -41,7 +95,9 @@ module.exports.useragents = {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: false
, mobile: false
, version: '29.0'
, webkit: true
@@ -51,7 +107,9 @@ module.exports.useragents = {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: false
, mobile: false
, version: '28.0'
, webkit: true
@@ -61,7 +119,9 @@ module.exports.useragents = {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: false
, mobile: false
, version: '11.0'
, webkit: true
@@ -71,7 +131,9 @@ module.exports.useragents = {
chrome: true
, ipad: false
, iphone: false
, ipod: false
, ios: false
, android: false
, mobile: false
, version: '6.0'
, webkit: true
@@ -258,7 +320,16 @@ module.exports.useragents = {
}
}
, Firefox: {
'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0': {
'Mozilla/5.0 (Android; Mobile; rv:27.0) Gecko/27.0 Firefox/27.0': {
mozilla: true
, gecko: true
, firefox: true
, version: '27.0'
, mobile: true
, android: true
, a: true
}
, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0': {
mozilla: true
, gecko: true
, firefox: true
@@ -425,7 +496,17 @@ module.exports.useragents = {
}
}
, iPod: {
'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5': {
'Mozilla/5.0 (iPod; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3': {
ios: true
, version: '5.1'
, iphone: false
, ipad: false
, ipod: true
, mobile: true
, webkit: true
, x: true
}
, 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5': {
ios: true
, version: '5.0'
, iphone: false