diff --git a/bowser.js b/bowser.js index 78e11c3..8848d7e 100644 --- a/bowser.js +++ b/bowser.js @@ -33,6 +33,7 @@ , gecko = /gecko\//i.test(ua) , seamonkey = /seamonkey\//i.test(ua) , webkitVersion = /version\/(\d+(\.\d+)?)/i + , o function detect() { @@ -45,19 +46,19 @@ , chrome: t , version: ua.match(/chrome\/(\d+(\.\d+)?)/i)[1] } - if (iphone) return { - webkit: t - , iphone: t - , mobile: t - , ios: t - , version: ua.match(webkitVersion)[1] - } - if (ipad) return { - webkit: t - , ipad: t - , mobile: t - , ios: t - , version: ua.match(webkitVersion)[1] + if (iphone || ipad) { + o = { + webkit: t + , mobile: t + , ios: t + , iphone: iphone + , ipad: ipad + } + // WTF: version is not part of user agent in web apps + if (webkitVersion.test(ua)) { + o.version = ua.match(webkitVersion)[1] + } + return o } if (android) return { webkit: t @@ -75,7 +76,7 @@ , version: ua.match(webkitVersion)[1] } if (gecko) { - var o = { + o = { gecko: t , mozilla: t , version: ua.match(/firefox\/(\d+(\.\d+)?)/i)[1] diff --git a/bowser.min.js b/bowser.min.js index 9bb3d5f..ac96c75 100644 --- a/bowser.min.js +++ b/bowser.min.js @@ -3,4 +3,4 @@ * https://github.com/ded/bowser * MIT License | (c) Dustin Diaz 2011 */ -!function(a,b){typeof define=="function"?define(b):typeof module!="undefined"&&module.exports?module.exports.browser=b():this[a]=b()}("bowser",function(){function n(){if(c)return{msie:b,version:a.match(/msie (\d+(\.\d+)?);/i)[1]};if(d)return{webkit:b,chrome:b,version:a.match(/chrome\/(\d+(\.\d+)?)/i)[1]};if(f)return{webkit:b,iphone:b,mobile:b,ios:b,version:a.match(m)[1]};if(g)return{webkit:b,ipad:b,mobile:b,ios:b,version:a.match(m)[1]};if(h)return{webkit:b,android:b,mobile:b,version:a.match(m)[1]};if(e)return{webkit:b,safari:b,version:a.match(m)[1]};if(i)return{opera:b,version:a.match(m)[1]};if(k){var n={gecko:b,mozilla:b,version:a.match(/firefox\/(\d+(\.\d+)?)/i)[1]};return j&&(n.firefox=b),n}if(l)return{seamonkey:b,version:a.match(/seamonkey\/(\d+(\.\d+)?)/i)[1]}}var a=navigator.userAgent,b=!0,c=/msie/i.test(a),d=/chrome/i.test(a),e=/safari/i.test(a)&&!d,f=/iphone/i.test(a),g=/ipad/i.test(a),h=/android/i.test(a),i=/opera/i.test(a),j=/firefox/i.test(a),k=/gecko\//i.test(a),l=/seamonkey\//i.test(a),m=/version\/(\d+(\.\d+)?)/i,o=n();return o.msie&&o.version>=6||o.chrome&&o.version>=10||o.firefox&&o.version>=4||o.safari&&o.version>=5||o.opera&&o.version>=10?o.a=b:o.msie&&o.version<6||o.chrome&&o.version<10||o.firefox&&o.version<4||o.safari&&o.version<5||o.opera&&o.version<10?o.c=b:o.x=b,o}) \ No newline at end of file +!function(a,b){typeof define=="function"?define(b):typeof module!="undefined"&&module.exports?module.exports.browser=b():this[a]=b()}("bowser",function(){function o(){if(c)return{msie:b,version:a.match(/msie (\d+(\.\d+)?);/i)[1]};if(d)return{webkit:b,chrome:b,version:a.match(/chrome\/(\d+(\.\d+)?)/i)[1]};if(f||g)return n={webkit:b,mobile:b,ios:b,iphone:f,ipad:g},m.test(a)&&(n.version=a.match(m)[1]),n;if(h)return{webkit:b,android:b,mobile:b,version:a.match(m)[1]};if(e)return{webkit:b,safari:b,version:a.match(m)[1]};if(i)return{opera:b,version:a.match(m)[1]};if(k)return n={gecko:b,mozilla:b,version:a.match(/firefox\/(\d+(\.\d+)?)/i)[1]},j&&(n.firefox=b),n;if(l)return{seamonkey:b,version:a.match(/seamonkey\/(\d+(\.\d+)?)/i)[1]}}var a=navigator.userAgent,b=!0,c=/msie/i.test(a),d=/chrome/i.test(a),e=/safari/i.test(a)&&!d,f=/iphone/i.test(a),g=/ipad/i.test(a),h=/android/i.test(a),i=/opera/i.test(a),j=/firefox/i.test(a),k=/gecko\//i.test(a),l=/seamonkey\//i.test(a),m=/version\/(\d+(\.\d+)?)/i,n,p=o();return p.msie&&p.version>=6||p.chrome&&p.version>=10||p.firefox&&p.version>=4||p.safari&&p.version>=5||p.opera&&p.version>=10?p.a=b:p.msie&&p.version<6||p.chrome&&p.version<10||p.firefox&&p.version<4||p.safari&&p.version<5||p.opera&&p.version<10?p.c=b:p.x=b,p}) \ No newline at end of file diff --git a/src/bowser.js b/src/bowser.js index ad9b13f..bf2fc34 100644 --- a/src/bowser.js +++ b/src/bowser.js @@ -28,6 +28,7 @@ , gecko = /gecko\//i.test(ua) , seamonkey = /seamonkey\//i.test(ua) , webkitVersion = /version\/(\d+(\.\d+)?)/i + , o function detect() { @@ -40,19 +41,19 @@ , chrome: t , version: ua.match(/chrome\/(\d+(\.\d+)?)/i)[1] } - if (iphone) return { - webkit: t - , iphone: t - , mobile: t - , ios: t - , version: ua.match(webkitVersion)[1] - } - if (ipad) return { - webkit: t - , ipad: t - , mobile: t - , ios: t - , version: ua.match(webkitVersion)[1] + if (iphone || ipad) { + o = { + webkit: t + , mobile: t + , ios: t + , iphone: iphone + , ipad: ipad + } + // WTF: version is not part of user agent in web apps + if (webkitVersion.test(ua)) { + o.version = ua.match(webkitVersion)[1] + } + return o } if (android) return { webkit: t @@ -70,7 +71,7 @@ , version: ua.match(webkitVersion)[1] } if (gecko) { - var o = { + o = { gecko: t , mozilla: t , version: ua.match(/firefox\/(\d+(\.\d+)?)/i)[1]