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

Revision 4975, 6.2 KB checked in by niltonneto, 13 years ago (diff)

Ticket #2232 - Liberado o uso do firefox6 para o modulo de mensagens instantaneas sem java

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