source: branches/2.2/phpgwapi/js/browser/browserDetect.js @ 4423

Revision 4423, 6.0 KB checked in by alexandrecorreia, 13 years ago (diff)

Ticket #1894 - Adicionado o arquivo browserDetect.js dentro da pasta phpgwapi/js/browser

  • Property svn:executable set to *
Line 
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       
23        if ( kqPos !=-1 )
24        {
25            is_konq  = true;
26            is_minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos)));
27            is_major = parseInt(is_minor);
28        }
29
30        //Is_Khtml
31        var is_khtml    = (((agt.indexOf('safari')!=-1) && (agt.indexOf('mac')!=-1)) && ( is_konq ));
32
33        //Is_Opera
34        var is_opera    = (agt.indexOf("opera") != -1 );
35
36        //Is_IE
37        var is_ie               = ((iePos!=-1) && (!is_opera) && (!is_khtml));
38
39        // Gecko
40        var is_gecko = ((!is_khtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?true:false;
41        var is_gver  = 0;
42       
43        if (is_gecko)
44            is_gver = navigator.productSub;
45
46        // Moz
47        var is_moz   = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
48                        (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
49                        (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
50                        (is_gecko) && ((navigator.vendor=="")||(navigator.vendor=="Mozilla")));
51
52        var _browser = [
53
54            // Chrome   
55            ['chrome8', ( agt.indexOf('chrome/8') != -1 ) ],
56
57            // EPIPHANY
58            ['epiphany2', ( agt.indexOf('epiphany/2') != -1 ) ],
59
60            // FIREFOX
61            ['firefox1', ( agt.indexOf('firefox/1') != -1 ) ],
62            ['firefox2', ( agt.indexOf('firefox/2') != -1 ) ],
63            ['firefox3', ( agt.indexOf('firefox/3') != -1 ) ],
64            ['firefox4', ( agt.indexOf('firefox/4') != -1 ) ],
65
66            // ICEWEASEL
67            ['iceweasel3', (agt.indexOf('iceweasel/3') != -1 ) ],
68
69            // IE
70            ['ie3',     (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major < 4 )) ],
71            ['ie4', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 4 )) ],
72            ['ie5', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 5 )) ],
73            ['ie55', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (agt.indexOf("msie 5.5") !=-1 )) ],
74            ['ie6', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 6 )) ],
75            ['ie7', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 7 )) ],
76            ['ie8', (((iePos!=-1) && (!is_opera) && (!is_khtml)) && (is_major == 8 )) ],
77
78            //IS?
79            ['is_ie', ((iePos!=-1) && (!is_opera) && (!is_khtml)) ],
80            ['is_gecko', is_gecko ],
81            ['is_opera', is_opera ],
82            ['is_khtml', is_khtml ],
83            ['is_moz', is_moz ],
84
85            // OPERA
86            ['is_opera', is_opera],
87            ['opera2', ( agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1) ],
88            ['opera3', ( agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1) ],
89            ['opera4', ( agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1) ],
90            ['opera5', ( agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1) ],
91            ['opera6', ( agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1) ],
92            ['opera7', ( agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1) ],
93            ['opera8', ( agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1) ],
94            ['opera9', ( agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1) ],
95
96            // IS SAFARI/KHTML
97            ['safari', ((agt.indexOf('safari')!=-1) && (agt.indexOf('mac')!=-1)) ],
98            ['khtml', is_khtml ]
99        ];
100
101        function isCompatible()
102        {
103            if( arguments.length > 0 )
104            {
105                var _args = arguments;
106
107                for( i = 0; i < _args.length; i++ )
108                {
109                    for( j = 0; j < _browser.length; j++ )
110                    {
111                        if( _args[i].toLowerCase() === _browser[j][0] )
112                        {
113                            if( _browser[j][1] )
114                                return true;
115                        }
116                    }   
117                }
118
119                return false;
120            }
121        }
122
123        function SnifferBrowser()
124        {
125        }
126
127        SnifferBrowser.prototype.isCompatible = isCompatible;
128
129        window.SnifferBrowser = new SnifferBrowser;
130       
131})();
132
133/*  Script utilizado para detectar o browser
134
135        Variaveis Globais no Expresso:
136
137        OS              -> retorna o Sistema Operacional
138        browser -> retorna o nome do Browser
139        version -> retorna a versão do Browser
140        isExplorer -> retorna true se Browser for Internet Explorer
141*/
142        var detect = navigator.userAgent.toLowerCase();
143        var OS,browser,version,total,thestring;
144        var isExplorer = false;
145
146        if (checkIt('konqueror'))
147        {
148                browser = "Konqueror";
149                OS = "Linux";
150        }
151        else if (checkIt('safari')) browser = "Safari"
152        else if (checkIt('omniweb')) browser = "OmniWeb"
153        else if (checkIt('opera')) browser = "Opera"
154        else if (checkIt('webtv')) browser = "WebTV";
155        else if (checkIt('icab')) browser = "iCab";
156        else if (checkIt('msie')) {browser = "Internet Explorer";isExplorer=true;}
157        else if (!checkIt('compatible'))
158        {
159                browser = "Netscape Navigator"
160                version = detect.charAt(8);
161        }
162        else browser = "An unknown browser";
163       
164        if (!version) version = detect.charAt(place + thestring.length);
165       
166        if (!OS)
167        {
168                if (checkIt('linux')) OS = "Linux";
169                else if (checkIt('x11')) OS = "Unix";
170                else if (checkIt('mac')) OS = "Mac"
171                else if (checkIt('win')) OS = "Windows"
172                else OS = "an unknown operating system";
173        }
174       
175        function checkIt(string)
176        {
177                place = detect.indexOf(string) + 1;
178                thestring = string;
179                return place;
180        }
Note: See TracBrowser for help on using the repository browser.