bowser.min.js 7.81 KB
/*!
 * Bowser - a browser detector
 * https://github.com/ded/bowser
 * MIT License | (c) Dustin Diaz 2015
 */
(function(f){var i=true;function c(B){function t(L){var K=B.match(L);return(K&&K.length>1&&K[1])||""}function C(L){var K=B.match(L);return(K&&K.length>1&&K[2])||""}var A=t(/(ipod|iphone|ipad)/i).toLowerCase(),k=/like android/i.test(B),H=!k&&/android/i.test(B),y=/nexus\s*[0-6]\s*/i.test(B),I=!y&&/nexus\s*[0-9]+/i.test(B),w=/CrOS/.test(B),x=/silk/i.test(B),E=/sailfish/i.test(B),z=/tizen/i.test(B),j=/(web|hpw)os/i.test(B),s=/windows phone/i.test(B),D=/SamsungBrowser/i.test(B),F=!s&&/windows/i.test(B),p=!A&&!x&&/macintosh/i.test(B),u=!H&&!E&&!z&&!j&&/linux/i.test(B),n=C(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),J=t(/version\/(\d+(\.\d+)?)/i),r=/tablet/i.test(B)&&!/tablet pc/i.test(B),m=!r&&/[^-]mobi/i.test(B),q=/xbox/i.test(B),v;if(/opera/i.test(B)){v={name:"Opera",opera:i,version:J||t(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}}else{if(/opr\/|opios/i.test(B)){v={name:"Opera",opera:i,version:t(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||J}}else{if(/SamsungBrowser/i.test(B)){v={name:"Samsung Internet for Android",samsungBrowser:i,version:J||t(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}}else{if(/coast/i.test(B)){v={name:"Opera Coast",coast:i,version:J||t(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}}else{if(/yabrowser/i.test(B)){v={name:"Yandex Browser",yandexbrowser:i,version:J||t(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}}else{if(/ucbrowser/i.test(B)){v={name:"UC Browser",ucbrowser:i,version:t(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}}else{if(/mxios/i.test(B)){v={name:"Maxthon",maxthon:i,version:t(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}}else{if(/epiphany/i.test(B)){v={name:"Epiphany",epiphany:i,version:t(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}}else{if(/puffin/i.test(B)){v={name:"Puffin",puffin:i,version:t(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}}else{if(/sleipnir/i.test(B)){v={name:"Sleipnir",sleipnir:i,version:t(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}}else{if(/k-meleon/i.test(B)){v={name:"K-Meleon",kMeleon:i,version:t(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}}else{if(s){v={name:"Windows Phone",osname:"Windows Phone",windowsphone:i};if(n){v.msedge=i;v.version=n}else{v.msie=i;v.version=t(/iemobile\/(\d+(\.\d+)?)/i)}}else{if(/msie|trident/i.test(B)){v={name:"Internet Explorer",msie:i,version:t(/(?:msie |rv:)(\d+(\.\d+)?)/i)}}else{if(w){v={name:"Chrome",osname:"Chrome OS",chromeos:i,chromeBook:i,chrome:i,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}}else{if(/edg([ea]|ios)/i.test(B)){v={name:"Microsoft Edge",msedge:i,version:n}}else{if(/vivaldi/i.test(B)){v={name:"Vivaldi",vivaldi:i,version:t(/vivaldi\/(\d+(\.\d+)?)/i)||J}}else{if(E){v={name:"Sailfish",osname:"Sailfish OS",sailfish:i,version:t(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}}else{if(/seamonkey\//i.test(B)){v={name:"SeaMonkey",seamonkey:i,version:t(/seamonkey\/(\d+(\.\d+)?)/i)}}else{if(/firefox|iceweasel|fxios/i.test(B)){v={name:"Firefox",firefox:i,version:t(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)};if(/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(B)){v.firefoxos=i;v.osname="Firefox OS"}}else{if(x){v={name:"Amazon Silk",silk:i,version:t(/silk\/(\d+(\.\d+)?)/i)}}else{if(/phantom/i.test(B)){v={name:"PhantomJS",phantom:i,version:t(/phantomjs\/(\d+(\.\d+)?)/i)}}else{if(/slimerjs/i.test(B)){v={name:"SlimerJS",slimer:i,version:t(/slimerjs\/(\d+(\.\d+)?)/i)}}else{if(/blackberry|\bbb\d+/i.test(B)||/rim\stablet/i.test(B)){v={name:"BlackBerry",osname:"BlackBerry OS",blackberry:i,version:J||t(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}}else{if(j){v={name:"WebOS",osname:"WebOS",webos:i,version:J||t(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)};/touchpad\//i.test(B)&&(v.touchpad=i)}else{if(/bada/i.test(B)){v={name:"Bada",osname:"Bada",bada:i,version:t(/dolfin\/(\d+(\.\d+)?)/i)}}else{if(z){v={name:"Tizen",osname:"Tizen",tizen:i,version:t(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||J}}else{if(/qupzilla/i.test(B)){v={name:"QupZilla",qupzilla:i,version:t(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||J}}else{if(/chromium/i.test(B)){v={name:"Chromium",chromium:i,version:t(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||J}}else{if(/chrome|crios|crmo/i.test(B)){v={name:"Chrome",chrome:i,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}}else{if(H){v={name:"Android",version:J}}else{if(/safari|applewebkit/i.test(B)){v={name:"Safari",safari:i};if(J){v.version=J}}else{if(A){v={name:A=="iphone"?"iPhone":A=="ipad"?"iPad":"iPod"};if(J){v.version=J}}else{if(/googlebot/i.test(B)){v={name:"Googlebot",googlebot:i,version:t(/googlebot\/(\d+(\.\d+))/i)||J}}else{v={name:t(/^(.*)\/(.*) /),version:C(/^(.*)\/(.*) /)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}if(!v.msedge&&/(apple)?webkit/i.test(B)){if(/(apple)?webkit\/537\.36/i.test(B)){v.name=v.name||"Blink";v.blink=i}else{v.name=v.name||"Webkit";v.webkit=i}if(!v.version&&J){v.version=J}}else{if(!v.opera&&/gecko\//i.test(B)){v.name=v.name||"Gecko";v.gecko=i;v.version=v.version||t(/gecko\/(\d+(\.\d+)?)/i)}}if(!v.windowsphone&&(H||v.silk)){v.android=i;v.osname="Android"}else{if(!v.windowsphone&&A){v[A]=i;v.ios=i;v.osname="iOS"
}else{if(p){v.mac=i;v.osname="macOS"}else{if(q){v.xbox=i;v.osname="Xbox"}else{if(F){v.windows=i;v.osname="Windows"}else{if(u){v.linux=i;v.osname="Linux"}}}}}}function G(K){switch(K){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return undefined}}var l="";if(v.windows){l=G(t(/Windows ((NT|XP)( \d\d?.\d)?)/i))}else{if(v.windowsphone){l=t(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i)}else{if(v.mac){l=t(/Mac OS X (\d+([_\.\s]\d+)*)/i);l=l.replace(/[_\s]/g,".")}else{if(A){l=t(/os (\d+([_\s]\d+)*) like mac os x/i);l=l.replace(/[_\s]/g,".")}else{if(H){l=t(/android[ \/-](\d+(\.\d+)*)/i)}else{if(v.webos){l=t(/(?:web|hpw)os\/(\d+(\.\d+)*)/i)}else{if(v.blackberry){l=t(/rim\stablet\sos\s(\d+(\.\d+)*)/i)}else{if(v.bada){l=t(/bada\/(\d+(\.\d+)*)/i)}else{if(v.tizen){l=t(/tizen[\/\s](\d+(\.\d+)*)/i)}}}}}}}}}if(l){v.osversion=l}var o=!v.windows&&l.split(".")[0];if(r||I||A=="ipad"||(H&&(o==3||(o>=4&&!m)))||v.silk){v.tablet=i}else{if(m||A=="iphone"||A=="ipod"||H||y||v.blackberry||v.webos||v.bada){v.mobile=i}}if(v.msedge||(v.msie&&v.version>=10)||(v.yandexbrowser&&v.version>=15)||(v.vivaldi&&v.version>=1)||(v.chrome&&v.version>=20)||(v.samsungBrowser&&v.version>=4)||(v.firefox&&v.version>=20)||(v.safari&&v.version>=6)||(v.opera&&v.version>=10)||(v.ios&&v.osversion&&v.osversion.split(".")[0]>=6)||(v.blackberry&&v.version>=10.1)||(v.chromium&&v.version>=20)){v.a=i}else{if((v.msie&&v.version<10)||(v.chrome&&v.version<20)||(v.firefox&&v.version<20)||(v.safari&&v.version<6)||(v.opera&&v.version<10)||(v.ios&&v.osversion&&v.osversion.split(".")[0]<6)||(v.chromium&&v.version<20)){v.c=i}else{v.x=i}}return v}var e=c(typeof navigator!=="undefined"?navigator.userAgent||"":"");e.test=function(k){for(var l=0;l<k.length;++l){var j=k[l];if(typeof j==="string"){if(j in e){return true}}}return false};function d(j){return j.split(".").length}function a(k,m){var j=[],l;if(Array.prototype.map){return Array.prototype.map.call(k,m)}for(l=0;l<k.length;l++){j.push(m(k[l]))}return j}function h(j){var k=Math.max(d(j[0]),d(j[1]));var l=a(j,function(m){var n=k-d(m);m=m+new Array(n+1).join(".0");return a(m.split("."),function(o){return new Array(20-o.length).join("0")+o}).reverse()});while(--k>=0){if(l[0][k]>l[1][k]){return 1}else{if(l[0][k]===l[1][k]){if(k===0){return 0}}else{return -1}}}}function g(o,m,l){var n=e;if(typeof m==="string"){l=m;m=void (0)}if(m===void (0)){m=false}if(l){n=c(l)}var j=""+n.version;for(var k in o){if(o.hasOwnProperty(k)){if(n[k]){if(typeof o[k]!=="string"){throw new Error("Browser version in the minVersion map should be a string: "+k+": "+String(o))}return h([j,o[k]])<0}}}return m}function b(l,k,j){return !g(l,k,j)}e.isUnsupportedBrowser=g;e.compareVersions=h;e.check=b;e._detect=c;e.detect=c;if(!e.check({msie:"9"})){f.location.href="/wui/error.html"}})(window);