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 | |
---|
53 | // Chrome |
---|
54 | ['chrome8', ( agt.indexOf('chrome/8') != -1 ) ], |
---|
55 | |
---|
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 | })(); |
---|