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

Reply via email to