forked from bowser-js/bowser
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathowser.min.js
7 lines (7 loc) · 3.36 KB
/
owser.min.js
1
2
3
4
5
6
7
/*!
* Owser - a device detector for operating systems and browsers
* Derived from Dustin Diaz's [Bowser](https://github.com/ded/bowser)
* https://github.com/zwise/owser
* MIT License | (c) Zach Wise 2016
*/
!function(e,t){typeof define=="function"?define(t):typeof module!="undefined"&&module.exports?module.exports.browser=t():this[e]=t()}("owser",function(){function N(){if(n||r)return x={msie:t,name:"ie"},n?x.version=e.match(/msie (\d+(\.\d+)?);/i)[1]:x.version=e.match(/rv:(\d+\.\d+?)/i)[1],x;if(o)return{webkit:t,chrome:t,name:"chrome",version:e.match(/chrome\/(\d+(\.\d+)?)/i)[1]};if(u)return{webkit:t,phantom:t,name:"phantomjs",version:e.match(/phantomjs\/(\d+(\.\d+)+)/i)[1]};if(d)return{webkit:t,touchpad:t,name:"touchpad",version:e.match(/touchpad\/(\d+(\.\d+)?)/i)[1]};if(l||c||h)return x={webkit:t,mobile:t,ios:t,iphone:l,ipad:c,ipod:h,name:"safari"},S.test(e)&&(x.version=e.match(S)[1]),x;if(f)return{webkit:t,mobile:t,name:"blackberry stock",version:e.match(S)[1]};if(v)return x={android:t,mobile:t,name:"android stock"},E&&(console.log(E),x.version=e.match(S)[1],x.webkit=t),b&&(x.gecko=t,x.mozilla=t,x.name="gecko",x.version=e.match(/firefox\/(\d+(\.\d+)?)/i)[1],g&&(x.firefox=t,x.name="firefox")),x;if(a)return{webkit:t,safari:t,name:"safari",version:e.match(S)[1]};if(m)return{opera:t,name:"opera",version:e.match(S)[1]};if(b)return x={gecko:t,mozilla:t,name:"gecko",version:e.match(/firefox\/(\d+(\.\d+)?)/i)[1]},g&&(x.firefox=t,x.name="firefox"),x;if(w)return{seamonkey:t,name:"seamonkey",version:e.match(/seamonkey\/(\d+(\.\d+)?)/i)[1]}}function C(){if(p)return{winphone:t,mobile:t,name:"winphone",version:e.match(/windows phone (\d+\.\d+)?/i)[1]};if(i)return x={windows:t,name:"windows",version:e.match(/windows nt (\d+\.\d+)?/i)[1]},x.version==5.1||x.version==5.2?x.version="xp":x.version==6?x.version="vista":x.version==6.1?x.version=7:x.version==6.2&&(x.version=8),x;if(s&&!(l||h||c))return{mac:t,name:"mac",version:e.match(/mac os x (\d+(\.|_)\d+)?/i)[1].replace("_",".")};if(l||c||h)return{mobile:t,ios:t,name:"ios",version:e.match(/ os (\d+(\.|_)\d+)?/i)[1].replace("_",".")};if(f)return{blackberry:t,mobile:t,name:"blackberry",version:e.match(/version\/(\d+\.\d+?)/i)[1]};if(v)return{android:t,mobile:t,tablet:e.indexOf("mobile")==-1&&e.indexOf("Mobile")==-1,name:"android",version:e.match(/android (\d+\.\d+?)/i)[1]};if(y)return{firefoxos:t,mobile:t,name:"firefoxos",version:e.match(/rv:(\d+\.\d+?)/i)[1]}}var e=navigator.userAgent,t=!0,n=/msie/i.test(e),r=/trident/i.test(e),i=/windows nt/i.test(e),s=/mac os x/i.test(e),o=/chrome/i.test(e),u=/phantom/i.test(e),a=/safari/i.test(e)&&!o&&!u,f=/blackberry/i.test(e),l=/iphone/i.test(e),c=/ipad/i.test(e),h=/ipad/i.test(e),p=/windows phone/i.test(e),d=/touchpad/i.test(e),v=/android/i.test(e),m=/opera/i.test(e),g=/firefox/i.test(e),y=/mobile\; rv/i.test(e)&&g,b=/gecko\//i.test(e),w=/seamonkey\//i.test(e),E=/webkit\//i.test(e),S=/version\/(\d+(\.\d+)?)/i,x,T=new Object;return T.browser=N(),T.os=C(),T.ua=e,T.browser.msie&&T.browser.version>=7||T.browser.chrome&&T.browser.version>=10||T.browser.firefox&&T.browser.version>=4||T.browser.safari&&T.browser.version>=5||T.browser.opera&&T.browser.version>=10?T.browser.a=t:T.browser.msie&&T.browser.version<7||T.browser.chrome&&T.browser.version<10||T.browser.firefox&&T.browser.version<4||T.browser.safari&&T.browser.version<5||T.browser.opera&&T.browser.version<10?T.browser.c=t:T.browser.x=t,T})