This is not meant to replace browser.js but to be included in the distribution as an option to those that need a more accurate browser detection. As it should happen with all extensions. Doug Melvin wrote: > oh yes!! > let's make broswer.js three time larger!! > Why didn't I think of that.. > > (note heavy sense of sarcasm) > ----- Original Message ----- > From: "nobody" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Monday, March 12, 2001 3:34 AM > Subject: [Dynapi-Dev] [ dynapi-Patches-407882 ] Browser.js Recommended > Upgrade > > > Patches #407882, was updated on 2001-03-12 03:34 > > You can respond by visiting: > > > http://sourceforge.net/tracker/?func=detail&atid=305757&aid=407882&group_id= > 5757 > > > > Category: DynAPI-Core > > Group: None > > Status: Open > > Priority: 5 > > Submitted By: Nobody/Anonymous > > Assigned to: Nobody/Anonymous > > Summary: Browser.js Recommended Upgrade > > > > Initial Comment: > > The following is a recommendation for changing the > > Browser.js code. This should fix several bugs which > > currently exist which affect the detection of Opera, > > MSIE, win32, and mac systems. It would obviously > > require making changes throughout the API system due > > to changes being made in variables. > > > > -----Code Follows----- > > > > > > /* > > DynAPI Distribution > > Browser Class > > > > The DynAPI Distribution is distributed under the > > terms of the GNU LGPL license. > > */ > > > > function Browser () > > { // convert all characters to lowercase to simplify > > testing > > var agt=navigator.userAgent.toLowerCase(); > > > > // *** BROWSER VERSION *** > > this.major = parseInt(navigator.appVersion); > > this.minor = parseFloat(navigator.appVersion); > > > > // Note: Opera and WebTV spoof. Perform strict > > client detection to prevent this. > > this.nav = ((agt.indexOf('mozilla')!=-1) && > > (agt.indexOf('spoofer')==-1) > > && (agt.indexOf('compatible') == -1) && > > (agt.indexOf('opera')==-1) > > && (agt.indexOf('webtv')==-1) && > > (agt.indexOf('hotjava')==-1)); > > this.nav4 = (this.nav && (this.major == 4)); > > this.nav6 = (this.nav && (this.major == 5)); > > this.gecko = (agt.indexOf('gecko') != -1); // Test > > for Gecko Engine > > > > this.ie = ((agt.indexOf("msie") != -1) && > > (agt.indexOf("opera") == -1)); > > this.ie4 = (this.ie && (this.major == 4) && > > (agt.indexOf("msie 5")==-1) ); > > this.ie5 = (this.ie && (this.major == 4) && > > (agt.indexOf("msie 5.0")!=-1) ); > > this.ie5_5 = (this.ie && (this.major == 4) && > > (agt.indexOf("msie 5.5") !=-1)); > > this.ie5up = (this.ie && !this.ie3 && ! > > this.ie4); //Recommend using this for loops to detect > > msie 5+ > > > > this.opera = (agt.indexOf("opera") != -1); > > > > // *** PLATFORM *** > > this.win = ( (agt.indexOf("win")!=-1) || > > (agt.indexOf("16bit")!=-1) ); > > // NOTE: On Opera 3.0, the userAgent string > > includes "Windows 95/NT4" on all > > // Win32, so you can't distinguish between > > Win95 and WinNT. > > this.win95 = ((agt.indexOf("win95")!=-1) || > > (agt.indexOf("windows 95")!=-1)); > > > > // is this a 16 bit compiled version? > > this.win16 = ((agt.indexOf("win16")!=-1) || > > (agt.indexOf("16bit")!=-1) || > > (agt.indexOf("windows 3.1")!=-1) || > > (agt.indexOf("windows 16-bit")!=- > > 1) ); > > > > this.win31 = ((agt.indexOf("windows 3.1")!=-1) || > > (agt.indexOf("win16")!=-1) || > > (agt.indexOf("windows 16-bit")!=-1)); > > > > // NOTE: Reliable detection of Win98 may not be > > possible. It appears that: > > // - On Nav 4.x and before you'll get > > plain "Windows" in userAgent. > > // - On Mercury client, the 32-bit version > > will return "Win98", but > > // the 16-bit version running on Win98 will > > still return "Win95". > > this.win98 = ((agt.indexOf("win98")!=-1) || > > (agt.indexOf("windows 98")!=-1)); > > this.winnt = ((agt.indexOf("winnt")!=-1) || > > (agt.indexOf("windows nt")!=-1)); > > > > this.winme = ((agt.indexOf("win 9x 4.90")!=-1)); > > this.win2k = ((agt.indexOf("windows nt 5.0")!=-1)); > > > > this.win32 = (this.winme || this.win2k || > > this.win95 || this.winnt || this.win98 || > > ((this.major >= 4) && > > (navigator.platform == "Win32")) || > > (agt.indexOf("win32")!=-1) || > > (agt.indexOf("32bit")!=-1)); > > > > this.os2 = ((agt.indexOf("os/2")!=-1) || > > (navigator.appVersion.indexOf("OS/2")! > > =-1) || > > (agt.indexOf("ibm-webexplorer")!=-1)); > > > > this.mac = (agt.indexOf("mac")!=-1); > > this.mac68k = (this.mac && ((agt.indexOf("68k")!=- > > 1) || > > (agt.indexOf("68000")!=-1))); > > this.macppc = (this.mac && ((agt.indexOf("ppc")!=- > > 1) || > > (agt.indexOf("powerpc")!=-1))); > > this.macos = (this.mac || this.mac68k || > > this.macppc); > > > > this.sun = (agt.indexOf("sunos")!=-1); > > this.sun4 = (agt.indexOf("sunos 4")!=-1); > > this.sun5 = (agt.indexOf("sunos 5")!=-1); > > this.suni86= (this.sun && (agt.indexOf("i86")!=-1)); > > this.irix = (agt.indexOf("irix") !=-1); // SGI > > this.irix5 = (agt.indexOf("irix 5") !=-1); > > this.irix6 = ((agt.indexOf("irix 6") !=-1) || > > (agt.indexOf("irix6") !=-1)); > > this.hpux = (agt.indexOf("hp-ux")!=-1); > > this.hpux9 = (this.hpux && (agt.indexOf("09.")!=- > > 1)); > > this.hpux10= (this.hpux && (agt.indexOf("10.")!=- > > 1)); > > this.aix = (agt.indexOf("aix") !=-1); // IBM > > this.aix1 = (agt.indexOf("aix 1") !=-1); > > this.aix2 = (agt.indexOf("aix 2") !=-1); > > this.aix3 = (agt.indexOf("aix 3") !=-1); > > this.aix4 = (agt.indexOf("aix 4") !=-1); > > this.linux = (agt.indexOf("inux")!=-1); > > this.sco = (agt.indexOf("sco")!=-1) || > > (agt.indexOf("unix_sv")!=-1); > > this.unixware = (agt.indexOf("unix_system_v")!=-1); > > this.mpras = (agt.indexOf("ncr")!=-1); > > this.reliant = (agt.indexOf("reliantunix")!=-1); > > this.dec = ((agt.indexOf("dec")!=-1) || > > (agt.indexOf("osf1")!=-1) || > > (agt.indexOf("dec_alpha")!=-1) || > > (agt.indexOf("alphaserver")!=-1) || > > (agt.indexOf("ultrix")!=-1) || > > (agt.indexOf("alphastation")!=-1)); > > this.sinix = (agt.indexOf("sinix")!=-1); > > this.freebsd = (agt.indexOf("freebsd")!=-1); > > this.bsd = (agt.indexOf("bsd")!=-1); > > this.unix = ((agt.indexOf("x11")!=-1) || this.sun > > || this.irix || this.hpux || > > this.sco ||this.unixware || this.mpras > > || this.reliant || > > this.dec || this.sinix || this.aix || > > this.linux || this.bsd || this.freebsd); > > > > this.vms = ((agt.indexOf("vax")!=-1) || > > (agt.indexOf("openvms")!=-1)); > > } > > > > is = DynAPI.browser = new Browser(); > > > > > > ---------------------------------------------------------------------- > > > > You can respond by visiting: > > > http://sourceforge.net/tracker/?func=detail&atid=305757&aid=407882&group_id= > 5757 > > > > _______________________________________________ > > Dynapi-Dev mailing list > > [EMAIL PROTECTED] > > http://lists.sourceforge.net/lists/listinfo/dynapi-dev > > --- > Outgoing mail is certified Virus Free by AVG Free Edition > Download at: http://www.grisoft.com/html/us_index.cfm > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.237 / Virus Database: 115 - Release Date: 3/7/01 > > _______________________________________________ > Dynapi-Dev mailing list > [EMAIL PROTECTED] > http://lists.sourceforge.net/lists/listinfo/dynapi-dev _______________________________________________ Dynapi-Dev mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/dynapi-dev
Re: [Dynapi-Dev] [ dynapi-Patches-407882 ] Browser.js Recommended Upgrade
Jordi - IlMaestro - Ministral Mon, 12 Mar 2001 09:40:17 -0800
- [Dynapi-Dev] [ dynapi-Patches-407882 ] Brows... nobody
- Re: [Dynapi-Dev] [ dynapi-Patches-40788... Doug Melvin
- Re: [Dynapi-Dev] [ dynapi-Patches-4... Liam Clancy
- Re: [Dynapi-Dev] [ dynapi-Patches-4... Michael Pemberton
- RE: [Dynapi-Dev] [ dynapi-Patches-40788... Jordi - IlMaestro - Ministral
- RE: [Dynapi-Dev] [ dynapi-Patches-40788... Pascal
- Re: [Dynapi-Dev] [ dynapi-Patches-4... Michael Pemberton
- RE: [Dynapi-Dev] [ dynapi-Patches-40788... Frank T. O'Connor
- Re: [Dynapi-Dev] [ dynapi-Patches-4... Doug Melvin
- [Dynapi-Dev] [ dynapi-Patches-407882 ] ... noreply
- Re: [Dynapi-Dev] [ dynapi-Patches-4... Doug Melvin
