[3228] | 1 | (function() |
---|
| 2 | { |
---|
| 3 | // NAVIGATOR USER AGENT |
---|
| 4 | var agt = navigator.userAgent.toLowerCase(); |
---|
| 5 | var appVer = navigator.appVersion.toLowerCase(); |
---|
| 6 | |
---|
| 7 | var is_minor = parseFloat(appVer); |
---|
| 8 | var is_major = parseInt(is_minor); |
---|
| 9 | |
---|
| 10 | var iePos = appVer.indexOf('msie'); |
---|
| 11 | |
---|
| 12 | if ( iePos != -1 ) |
---|
| 13 | { |
---|
| 14 | is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos))); |
---|
| 15 | is_major = parseInt(is_minor); |
---|
| 16 | } |
---|
| 17 | |
---|
| 18 | //Konqueror |
---|
| 19 | |
---|
| 20 | var is_konq = false; |
---|
| 21 | var kqPos = agt.indexOf('konqueror'); |
---|
| 22 | if ( kqPos !=-1 ) |
---|
| 23 | { |
---|
| 24 | is_konq = true; |
---|
| 25 | is_minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos))); |
---|
| 26 | is_major = parseInt(is_minor); |
---|
| 27 | } |
---|
| 28 | |
---|
| 29 | //Is_Khtml |
---|
| 30 | var is_khtml = (((agt.indexOf('safari')!=-1) && (agt.indexOf('mac')!=-1)) && ( is_konq )); |
---|
| 31 | |
---|
| 32 | //Is_Opera |
---|
| 33 | var is_opera = (agt.indexOf("opera") != -1 ); |
---|
| 34 | |
---|
| 35 | //Is_IE |
---|
| 36 | var is_ie = ((iePos!=-1) && (!is_opera) && (!is_khtml)); |
---|
| 37 | |
---|
| 38 | // Gecko |
---|
| 39 | var is_gecko = ((!is_khtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?true:false; |
---|
| 40 | var is_gver = 0; |
---|
| 41 | if (is_gecko) |
---|
| 42 | is_gver = navigator.productSub; |
---|
| 43 | |
---|
| 44 | // Moz |
---|
| 45 | var is_moz = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) && |
---|
| 46 | (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1) && |
---|
| 47 | (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1) && |
---|
| 48 | (is_gecko) && |
---|
| 49 | ((navigator.vendor=="")||(navigator.vendor=="Mozilla"))); |
---|
| 50 | |
---|
| 51 | var _browser = [ |
---|
| 52 | |
---|
[3687] | 53 | // Chrome |
---|
| 54 | ['chrome8', ( agt.indexOf('chrome/8') != -1 ) ], |
---|
| 55 | |
---|
[3228] | 56 | // EPIPHANY |
---|
| 57 | ['epiphany2', ( agt.indexOf('epiphany/2') != -1 ) ], |
---|
| 58 | |
---|
| 59 | // FIREFOX |
---|
| 60 | ['firefox1', ( agt.indexOf('firefox/1') != -1 ) ], |
---|
| 61 | ['firefox2', ( agt.indexOf('firefox/2') != -1 ) ], |
---|
| 62 | ['firefox3', ( agt.indexOf('firefox/3') != -1 ) ], |
---|
| 63 | |
---|
| 64 | // ICEWEASEL |
---|
| 65 | ['iceweasel3', (agt.indexOf('iceweasel/3') != -1 ) ], |
---|
| 66 | |
---|
| 67 | // IE |
---|
| 68 | ['ie3', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major < 4 )) ], |
---|
| 69 | ['ie4', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 4 )) ], |
---|
| 70 | ['ie5', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 5 )) ], |
---|
| 71 | ['ie55', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (agt.indexOf("msie 5.5") !=-1 )) ], |
---|
| 72 | ['ie6', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 6 )) ], |
---|
| 73 | ['ie7', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 7 )) ], |
---|
| 74 | ['ie8', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 8 )) ], |
---|
| 75 | |
---|
| 76 | //IS? |
---|
| 77 | ['is_ie', ((iePos!=-1) && (!is_opera) && (!is_khtml)) ], |
---|
| 78 | ['is_gecko', is_gecko ], |
---|
| 79 | ['is_opera', is_opera ], |
---|
| 80 | ['is_khtml', is_khtml ], |
---|
| 81 | ['is_moz', is_moz ], |
---|
| 82 | |
---|
| 83 | // OPERA |
---|
| 84 | ['is_opera', is_opera], |
---|
| 85 | ['opera2', ( agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1) ], |
---|
| 86 | ['opera3', ( agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1) ], |
---|
| 87 | ['opera4', ( agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1) ], |
---|
| 88 | ['opera5', ( agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1) ], |
---|
| 89 | ['opera6', ( agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1) ], |
---|
| 90 | ['opera7', ( agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1) ], |
---|
| 91 | ['opera8', ( agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1) ], |
---|
| 92 | ['opera9', ( agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1) ], |
---|
| 93 | |
---|
| 94 | // IS SAFARI/KHTML |
---|
| 95 | ['safari', ((agt.indexOf('safari')!=-1) && (agt.indexOf('mac')!=-1)) ], |
---|
| 96 | ['khtml', is_khtml ] |
---|
| 97 | ]; |
---|
| 98 | |
---|
| 99 | function isCompatible() |
---|
| 100 | { |
---|
| 101 | if( arguments.length > 0 ) |
---|
| 102 | { |
---|
| 103 | var _args = arguments; |
---|
| 104 | |
---|
| 105 | for( i = 0; i < _args.length; i++ ) |
---|
| 106 | { |
---|
| 107 | for( j = 0; j < _browser.length; j++ ) |
---|
| 108 | { |
---|
| 109 | if( _args[i].toLowerCase() === _browser[j][0] ) |
---|
| 110 | { |
---|
| 111 | if( _browser[j][1] ) |
---|
| 112 | return true; |
---|
| 113 | } |
---|
| 114 | } |
---|
| 115 | } |
---|
| 116 | |
---|
| 117 | return false; |
---|
| 118 | } |
---|
| 119 | } |
---|
| 120 | |
---|
| 121 | function SnifferBrowser() |
---|
| 122 | { |
---|
| 123 | } |
---|
| 124 | |
---|
| 125 | SnifferBrowser.prototype.isCompatible = isCompatible; |
---|
| 126 | |
---|
| 127 | window.SnifferBrowser = new SnifferBrowser; |
---|
| 128 | |
---|
| 129 | })(); |
---|