Newsgroup: it.comp.lang.javascript
Titolo: Riconoscere browser

Esiste un modo per capire se l'utente sta usando IE oppure NETSCAPE e
ridirigerlo su una pagina piuttosto che su di un'altra?
Ciao e grazie
ANTISPAM signature levare XXXX per rispondere
pape...@XXXXcosmo.it

=
    // *** 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.win32 = 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.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.freebsd
    this.vms   = (agt.indexOf("vax")!=-1) ||
(agt.indexOf("openvms")!=-1)
}
var is;
var isIE3Mac = false;
// this section is designed specifically for IE3 for the Mac 
if ((navigator.appVersion.indexOf("Mac")!=-1) &&
(navigator.userAgent.indexOf("MSIE")!=-1) &&
(parseInt(navigator.appVersion)==3))
       isIE3Mac = true;
else 
       is = new Is(); 

 ridirigerlo su una pagina piuttosto che su di un'altra?
Prova con questo:
----[sorgente script]----
<SCRIPT LANGUAGE="JavaScript">
<!-- Nascosto ai vecchi browser
function Rileva()
  {
  // Rileva il browser e lo converte in minuscolo
  Navigatore = navigator.appName.toLowerCase();
  // Se si usa netscape ...
  if (Navigatore == "netscape")
    {
    parent.corpo.location.href="netscape.htm"
    }
  // Altrimenti ...
  else
    {
    parent.corpo.location.href="altri.htm"
    }
  }
// fine programma -->
</SCRIPT>
----[fine sorgente]----
Aggiungendo altre linee tipo if (Navigatore == "pippo") ... si possono
indirizzare gli utenti verso le pagine relative.
REO