@@ -16,132 +16,14 @@ function isVisible(id){
1616 return getStyle ( document . getElementById ( id ) , "display" ) == "block" ;
1717}
1818
19- var BrowserDetect = {
20- init : function ( ) {
21- this . browser = this . searchString ( this . dataBrowser ) || "An unknown browser" ;
22- this . version = this . searchVersion ( navigator . userAgent )
23- || this . searchVersion ( navigator . appVersion )
24- || "an unknown version" ;
25- this . OS = this . searchString ( this . dataOS ) || "an unknown OS" ;
26- } ,
27- searchString : function ( data ) {
28- for ( var i = 0 ; i < data . length ; i ++ ) {
29- var dataString = data [ i ] . string ;
30- var dataProp = data [ i ] . prop ;
31- this . versionSearchString = data [ i ] . versionSearch || data [ i ] . identity ;
32- if ( dataString ) {
33- if ( dataString . indexOf ( data [ i ] . subString ) != - 1 )
34- return data [ i ] . identity ;
35- }
36- else if ( dataProp )
37- return data [ i ] . identity ;
38- }
39- } ,
40- searchVersion : function ( dataString ) {
41- var index = dataString . indexOf ( this . versionSearchString ) ;
42- if ( index == - 1 ) return ;
43- return parseFloat ( dataString . substring ( index + this . versionSearchString . length + 1 ) ) ;
44- } ,
45- dataBrowser : [
46- {
47- string : navigator . userAgent ,
48- subString : "Chrome" ,
49- identity : "Chrome"
50- } ,
51- { string : navigator . userAgent ,
52- subString : "OmniWeb" ,
53- versionSearch : "OmniWeb/" ,
54- identity : "OmniWeb"
55- } ,
56- {
57- string : navigator . vendor ,
58- subString : "Apple" ,
59- identity : "Safari" ,
60- versionSearch : "Version"
61- } ,
62- {
63- prop : window . opera ,
64- identity : "Opera" ,
65- versionSearch : "Version"
66- } ,
67- {
68- string : navigator . vendor ,
69- subString : "iCab" ,
70- identity : "iCab"
71- } ,
72- {
73- string : navigator . vendor ,
74- subString : "KDE" ,
75- identity : "Konqueror"
76- } ,
77- {
78- string : navigator . userAgent ,
79- subString : "Firefox" ,
80- identity : "Firefox"
81- } ,
82- {
83- string : navigator . vendor ,
84- subString : "Camino" ,
85- identity : "Camino"
86- } ,
87- { // for newer Netscapes (6+)
88- string : navigator . userAgent ,
89- subString : "Netscape" ,
90- identity : "Netscape"
91- } ,
92- {
93- string : navigator . userAgent ,
94- subString : "MSIE" ,
95- identity : "Explorer" ,
96- versionSearch : "MSIE"
97- } ,
98- {
99- string : navigator . userAgent ,
100- subString : "Gecko" ,
101- identity : "Mozilla" ,
102- versionSearch : "rv"
103- } ,
104- { // for older Netscapes (4-)
105- string : navigator . userAgent ,
106- subString : "Mozilla" ,
107- identity : "Netscape" ,
108- versionSearch : "Mozilla"
109- }
110- ] ,
111- dataOS : [
112- {
113- string : navigator . platform ,
114- subString : "Win" ,
115- identity : "Windows"
116- } ,
117- {
118- string : navigator . platform ,
119- subString : "Mac" ,
120- identity : "Mac"
121- } ,
122- {
123- string : navigator . userAgent ,
124- subString : "iPhone" ,
125- identity : "iPhone/iPod"
126- } ,
127- {
128- string : navigator . platform ,
129- subString : "Linux" ,
130- identity : "Linux"
131- }
132- ]
19+ var ua = $ . browser ;
20+ var uav = parseInt ( ua . version , 10 ) ;
13321
134- } ;
135- BrowserDetect . init ( ) ;
136-
137- //console.log(BrowserDetect.browser.toLowerCase());
138- //console.log(BrowserDetect.version);
139-
140- if ( BrowserDetect . browser . toLowerCase ( ) == 'chrome' || BrowserDetect . browser . toLowerCase ( ) == 'safari' ) {
141- test ( "webkit" , function ( ) {
142- ok ( ! isVisible ( "opera" ) ) ;
143- ok ( ! isVisible ( "opera2" ) ) ;
144- ok ( isVisible ( "webkit" ) ) ;
22+ if ( $ . browser . opera ) {
23+ test ( "opera" , function ( ) {
24+ ok ( isVisible ( "opera" ) ) ;
25+ ok ( isVisible ( "opera2" ) ) ;
26+ ok ( ! isVisible ( "webkit" ) ) ;
14527 ok ( ! isVisible ( "firefox2" ) ) ;
14628 ok ( ! isVisible ( "firefox3" ) ) ;
14729 ok ( ! isVisible ( "firefox3_5" ) ) ;
@@ -156,12 +38,12 @@ if( BrowserDetect.browser.toLowerCase() == 'chrome' || BrowserDetect.browser.toL
15638 ok ( ! isVisible ( "ie10" ) ) ;
15739 } ) ;
15840}
159- if ( BrowserDetect . browser . toLowerCase ( ) == 'firefox' && BrowserDetect . version == 2 ) {
160- test ( "firefox 2 " , function ( ) {
41+ if ( $ . browser . webkit ) {
42+ test ( "webkit " , function ( ) {
16143 ok ( ! isVisible ( "opera" ) ) ;
16244 ok ( ! isVisible ( "opera2" ) ) ;
163- ok ( ! isVisible ( "webkit" ) ) ;
164- ok ( isVisible ( "firefox2" ) ) ;
45+ ok ( isVisible ( "webkit" ) ) ;
46+ ok ( ! isVisible ( "firefox2" ) ) ;
16547 ok ( ! isVisible ( "firefox3" ) ) ;
16648 ok ( ! isVisible ( "firefox3_5" ) ) ;
16749 ok ( ! isVisible ( "firefox3_6" ) ) ;
@@ -175,7 +57,27 @@ if( BrowserDetect.browser.toLowerCase() == 'firefox' && BrowserDetect.version ==
17557 ok ( ! isVisible ( "ie10" ) ) ;
17658 } ) ;
17759}
178- if ( BrowserDetect . browser . toLowerCase ( ) == 'firefox' && BrowserDetect . version == 3 ) {
60+ // Browserstack doen't have that version
61+ // if ( ua.mozilla && ua.version.slice(0,3) == "1.9.2.17" ) {
62+ // test( "firefox 2", function() {
63+ // ok( !isVisible("opera") );
64+ // ok( !isVisible("opera2") );
65+ // ok( !isVisible("webkit") );
66+ // ok( isVisible("firefox2") );
67+ // ok( !isVisible("firefox3") );
68+ // ok( !isVisible("firefox3_5") );
69+ // ok( !isVisible("firefox3_6") );
70+ // ok( !isVisible("firefox4") );
71+ // ok( !isVisible("ie6") );
72+ // ok( !isVisible("ie7") );
73+ // ok( !isVisible("ie6andie7") );
74+ // ok( !isVisible("ie6andie7andie8andie9") );
75+ // ok( !isVisible("ie8") );
76+ // ok( !isVisible("ie9") );
77+ // ok( !isVisible("ie10") );
78+ // });
79+ // }
80+ if ( ua . mozilla && ua . version . slice ( 0 , 5 ) == "1.9.0" ) {
17981 test ( "firefox 3" , function ( ) {
18082 ok ( ! isVisible ( "opera" ) ) ;
18183 ok ( ! isVisible ( "opera2" ) ) ;
@@ -194,26 +96,27 @@ if( BrowserDetect.browser.toLowerCase() == 'firefox' && BrowserDetect.version ==
19496 ok ( ! isVisible ( "ie10" ) ) ;
19597 } ) ;
19698}
197- if ( BrowserDetect . browser . toLowerCase ( ) == 'firefox' && BrowserDetect . version == 3.5 ) {
198- test ( "firefox 3.5" , function ( ) {
199- ok ( ! isVisible ( "opera" ) ) ;
200- ok ( ! isVisible ( "opera2" ) ) ;
201- ok ( ! isVisible ( "webkit" ) ) ;
202- ok ( isVisible ( "firefox2" ) ) ;
203- ok ( isVisible ( "firefox3" ) ) ;
204- ok ( isVisible ( "firefox3_5" ) ) ;
205- ok ( ! isVisible ( "firefox3_6" ) ) ;
206- ok ( ! isVisible ( "firefox4" ) ) ;
207- ok ( ! isVisible ( "ie6" ) ) ;
208- ok ( ! isVisible ( "ie7" ) ) ;
209- ok ( ! isVisible ( "ie6andie7" ) ) ;
210- ok ( ! isVisible ( "ie6andie7andie8andie9" ) ) ;
211- ok ( ! isVisible ( "ie8" ) ) ;
212- ok ( ! isVisible ( "ie9" ) ) ;
213- ok ( ! isVisible ( "ie10" ) ) ;
214- } ) ;
215- }
216- if ( BrowserDetect . browser . toLowerCase ( ) == 'firefox' && BrowserDetect . version == 3.6 ) {
99+ // Browserstack doen't have that version
100+ // if( BrowserDetect.browser.toLowerCase() == 'firefox' && BrowserDetect.version == 3.5){
101+ // test( "firefox 3.5", function() {
102+ // ok( !isVisible("opera") );
103+ // ok( !isVisible("opera2") );
104+ // ok( !isVisible("webkit") );
105+ // ok( isVisible("firefox2") );
106+ // ok( isVisible("firefox3") );
107+ // ok( isVisible("firefox3_5") );
108+ // ok( !isVisible("firefox3_6") );
109+ // ok( !isVisible("firefox4") );
110+ // ok( !isVisible("ie6") );
111+ // ok( !isVisible("ie7") );
112+ // ok( !isVisible("ie6andie7") );
113+ // ok( !isVisible("ie6andie7andie8andie9") );
114+ // ok( !isVisible("ie8") );
115+ // ok( !isVisible("ie9") );
116+ // ok( !isVisible("ie10") );
117+ // });
118+ // }
119+ if ( ua . mozilla && ua . version . slice ( 0 , 5 ) == "1.9.2" ) {
217120 test ( "firefox 3.6" , function ( ) {
218121 ok ( ! isVisible ( "opera" ) ) ;
219122 ok ( ! isVisible ( "opera2" ) ) ;
@@ -232,7 +135,7 @@ if( BrowserDetect.browser.toLowerCase() == 'firefox' && BrowserDetect.version ==
232135 ok ( ! isVisible ( "ie10" ) ) ;
233136 } ) ;
234137}
235- if ( BrowserDetect . browser . toLowerCase ( ) == 'firefox' && BrowserDetect . version >= 4 ) {
138+ if ( ua . mozilla && ua . version . slice ( 0 , 3 ) == "2.0" ) {
236139 test ( "firefox 4+" , function ( ) {
237140 ok ( ! isVisible ( "opera" ) ) ;
238141 ok ( ! isVisible ( "opera2" ) ) ;
@@ -251,7 +154,7 @@ if( BrowserDetect.browser.toLowerCase() == 'firefox' && BrowserDetect.version >=
251154 ok ( ! isVisible ( "ie10" ) ) ;
252155 } ) ;
253156}
254- if ( BrowserDetect . browser . toLowerCase ( ) == 'explorer' && BrowserDetect . version == 6 ) {
157+ if ( ua . msie && ua . version == "6.0" ) {
255158 test ( "Internet Explorer 6" , function ( ) {
256159 ok ( ! isVisible ( "opera" ) ) ;
257160 ok ( ! isVisible ( "opera2" ) ) ;
@@ -270,7 +173,7 @@ if( BrowserDetect.browser.toLowerCase() == 'explorer' && BrowserDetect.version =
270173 ok ( ! isVisible ( "ie10" ) ) ;
271174 } ) ;
272175}
273- if ( BrowserDetect . browser . toLowerCase ( ) == 'explorer' && BrowserDetect . version == 7 ) {
176+ if ( ua . msie && ua . version == "7.0" ) {
274177 test ( "Internet Explorer 7" , function ( ) {
275178 ok ( ! isVisible ( "opera" ) ) ;
276179 ok ( ! isVisible ( "opera2" ) ) ;
@@ -289,7 +192,7 @@ if( BrowserDetect.browser.toLowerCase() == 'explorer' && BrowserDetect.version =
289192 ok ( ! isVisible ( "ie10" ) ) ;
290193 } ) ;
291194}
292- if ( BrowserDetect . browser . toLowerCase ( ) == 'explorer' && BrowserDetect . version == 8 ) {
195+ if ( ua . msie && ua . version == "8.0" ) {
293196 test ( "Internet Explorer 8" , function ( ) {
294197 ok ( ! isVisible ( "opera" ) ) ;
295198 ok ( ! isVisible ( "opera2" ) ) ;
@@ -308,7 +211,7 @@ if( BrowserDetect.browser.toLowerCase() == 'explorer' && BrowserDetect.version =
308211 ok ( ! isVisible ( "ie10" ) ) ;
309212 } ) ;
310213}
311- if ( BrowserDetect . browser . toLowerCase ( ) == 'explorer' && BrowserDetect . version == 9 ) {
214+ if ( ua . msie && ua . version == "9.0" ) {
312215 test ( "Internet Explorer 9" , function ( ) {
313216 ok ( ! isVisible ( "opera" ) ) ;
314217 ok ( ! isVisible ( "opera2" ) ) ;
@@ -327,7 +230,7 @@ if( BrowserDetect.browser.toLowerCase() == 'explorer' && BrowserDetect.version =
327230 ok ( ! isVisible ( "ie10" ) ) ;
328231 } ) ;
329232}
330- if ( BrowserDetect . browser . toLowerCase ( ) == 'explorer' && BrowserDetect . version == 10 ) {
233+ if ( ua . msie && ua . version == "10.0" ) {
331234 test ( "Internet Explorer 10" , function ( ) {
332235 ok ( ! isVisible ( "opera" ) ) ;
333236 ok ( ! isVisible ( "opera2" ) ) ;
@@ -340,9 +243,9 @@ if( BrowserDetect.browser.toLowerCase() == 'explorer' && BrowserDetect.version =
340243 ok ( ! isVisible ( "ie6" ) ) ;
341244 ok ( ! isVisible ( "ie7" ) ) ;
342245 ok ( ! isVisible ( "ie6andie7" ) ) ;
343- ok ( ! isVisible ( "ie6andie7andie8andie9" ) ) ;
246+ ok ( isVisible ( "ie6andie7andie8andie9" ) ) ;
344247 ok ( ! isVisible ( "ie8" ) ) ;
345- ok ( ! isVisible ( "ie9" ) ) ;
248+ ok ( isVisible ( "ie9" ) ) ;
346249 ok ( isVisible ( "ie10" ) ) ;
347250 } ) ;
348251}
0 commit comments