/[drupal]/contributions/themes/adc/browserdetect_lite.js
ViewVC logotype

Contents of /contributions/themes/adc/browserdetect_lite.js

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Sat Apr 5 16:31:02 2003 UTC (6 years, 7 months ago) by almaw
Branch: MAIN
CVS Tags: HEAD
Branch point for: drop, DRUPAL-4-1, DRUPAL-4-2, DRUPAL-4-4, DRUPAL-4-5, DRUPAL-4-6, DRUPAL-4-7
File MIME type: text/javascript
Initial commit of my JavaScript block rollup theme.
1 // Browser Detect Lite v2.1
2 // http://www.dithered.com/javascript/browser_detect/index.html
3 // modified by Chris Nott (chris@NOSPAMdithered.com - remove NOSPAM)
4 //
5 // modified by Michael Lovitt to include OmniWeb and Dreamcast
6
7 function BrowserDetectLite() {
8 var ua = navigator.userAgent.toLowerCase();
9 this.ua = ua;
10
11 // browser name
12 this.isGecko = (ua.indexOf('gecko') != -1);
13 this.isMozilla = (this.isGecko && ua.indexOf("gecko/") + 14 == ua.length);
14 this.isNS = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
15 this.isIE = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) );
16 this.isOpera = (ua.indexOf("opera") != -1);
17 this.isKonqueror = (ua.indexOf("konqueror") != -1);
18 this.isIcab = (ua.indexOf("icab") != -1);
19 this.isAol = (ua.indexOf("aol") != -1);
20 this.isWebtv = (ua.indexOf("webtv") != -1);
21 this.isOmniweb = (ua.indexOf("omniweb") != -1);
22 this.isDreamcast = (ua.indexOf("dreamcast") != -1);
23
24 // spoofing and compatible browsers
25 this.isIECompatible = ( (ua.indexOf("msie") != -1) && !this.isIE);
26 this.isNSCompatible = ( (ua.indexOf("mozilla") != -1) && !this.isNS && !this.isMozilla);
27
28 // browser version
29 this.versionMinor = parseFloat(navigator.appVersion);
30
31 // correct version number for NS6+
32 if (this.isNS && this.isGecko) {
33 this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
34 }
35
36 // correct version number for IE4+
37 else if (this.isIE && this.versionMinor >= 4) {
38 this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
39 }
40
41 // correct version number for Opera
42 else if (this.isOpera) {
43 if (ua.indexOf('opera/') != -1) {
44 this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
45 }
46 else {
47 this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
48 }
49 }
50
51 // correct version number for Konqueror
52 else if (this.isKonqueror) {
53 this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
54 }
55
56 // correct version number for iCab
57 else if (this.isIcab) {
58 if (ua.indexOf('icab/') != -1) {
59 this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
60 }
61 else {
62 this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
63 }
64 }
65
66 // correct version number for WebTV
67 else if (this.isWebtv) {
68 this.versionMinor = parseFloat( ua.substring( ua.indexOf('webtv/') + 6 ) );
69 }
70
71 this.versionMajor = parseInt(this.versionMinor);
72 this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
73
74 // platform
75 this.isWin = (ua.indexOf('win') != -1);
76 this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1) );
77 this.isMac = (ua.indexOf('mac') != -1);
78 this.isUnix = (ua.indexOf('unix') != -1 || ua.indexOf('linux') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
79
80 // specific browser shortcuts
81 this.isNS4x = (this.isNS && this.versionMajor == 4);
82 this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
83 this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
84 this.isNS4up = (this.isNS && this.versionMinor >= 4);
85 this.isNS6x = (this.isNS && this.versionMajor == 6);
86 this.isNS6up = (this.isNS && this.versionMajor >= 6);
87
88 this.isIE4x = (this.isIE && this.versionMajor == 4);
89 this.isIE4up = (this.isIE && this.versionMajor >= 4);
90 this.isIE5x = (this.isIE && this.versionMajor == 5);
91 this.isIE55 = (this.isIE && this.versionMinor == 5.5);
92 this.isIE5up = (this.isIE && this.versionMajor >= 5);
93 this.isIE6x = (this.isIE && this.versionMajor == 6);
94 this.isIE6up = (this.isIE && this.versionMajor >= 6);
95
96 this.isIE4xMac = (this.isIE4x && this.isMac);
97 }
98 var browser = new BrowserDetectLite();

  ViewVC Help
Powered by ViewVC 1.1.2