JavaScript : Comment recuperer la version du navigateur client ?

JavaScript : Comment recuperer la version du navigateur client ? - Programmation

Marsh Posté le 27-04-2001 à 09:25:55    

Voila je sais je sais, vous allez vous ecriez : ouais c appVersion. oui oui je sais.
mais moi je veux savoir si le navigateur est Netscape (ça c'est fait) mais aussi la version en cours : 4.5 ou inferieur,4.7 ou 6.0. Et là, j'y arrive pas :
function oldNetscape()  
{
    if (navigator.appName == 'Netscape' && navigator.appVersion = 4.7)
        return true;  
    else
        return false;
}
j'ai essayer ça pour voir si c la version 4.7 mais ça retourne true meme pour Netscape 6 ...
merci d'avance :

Reply

Marsh Posté le 27-04-2001 à 09:25:55   

Reply

Marsh Posté le 27-04-2001 à 14:11:16    

Regarde bien le script que je te donne, tu verras ce que te retourne les différentes variables en fonction du browser sur lequel la page est exécutée.
 
------------------ Le Script ------------------
<html>
<head>
<title>Test</title>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<script language="Javascript">
<!--
verStr=navigator.appVersion;
app=navigator.appName;
version = parseFloat(verStr);
 
document.write(verStr+"<br>" );
document.write(app+"<br>" );
document.write(version+"<br>" );
 
//-->
</script>
 
</body>
</html>
-------------------------------------------
 
Sur IE 5.5
4.0 (compatible; MSIE 5.5; Windows 98)
Microsoft Internet Explorer
4
 
sur Netscape 4.7 vers En
 
4.7 [en] (Win98; I)
Netscape
4.7
 
sous Netscape 6
 
5.0 (Windows; en-US)
Netscape
5
 
sous IE 4.01
 
4.0 (compatible; MSIE 4.01; Windows NT; compat)
Microsoft Internet Explorer
4
 
---> Maintenant, à toi de penser aux javascript permettant d'analyser correctement cela.
Tu peux utiliser indexOf() pour recherher une occurence dans une chaîne (utile pour IE)
 
Aller, un script qui check les browsers, ici, dans le cas où le naviguateur n'est pas au moins IE 5.5, tu sera redirigé sur une page appelée : frame.html.
 
------------------ Le script  ------------------
<html>
<head>
<title>Check Browser</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
<script language="JavaScript">
<!--
 
function MM_checkBrowser(NSvers,NSpass,NSnoPass,IEvers,IEpass,IEnoPass,OBpass,URL,altURL) { //v4.0
  var newURL='', verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
  if (app.indexOf('Netscape') != -1) {
    if (version >= NSvers) {if (NSpass>0) newURL=(NSpass==1)?URL:altURL;}
    else {if (NSnoPass>0) newURL=(NSnoPass==1)?URL:altURL;}
  } else if (app.indexOf('Microsoft') != -1) {
    if (version >= IEvers || verStr.indexOf(IEvers) != -1)
     {if (IEpass>0) newURL=(IEpass==1)?URL:altURL;}
    else {if (IEnoPass>0) newURL=(IEnoPass==1)?URL:altURL;}
  } else if (OBpass>0) newURL=(OBpass==1)?URL:altURL;
  if (newURL) { window.location=unescape(newURL); document.MM_returnValue=false; }
}
//-->
</script>
 
</head>
<body bgcolor="#FFFFFF" onLoad="MM_checkBrowser(4.0,2,2,5.5,1,2,2,'frame.html','ie55.html');return document.MM_returnValue">
</body>
</html>
 
---------------------------------------------------

Reply

Marsh Posté le 27-04-2001 à 14:15:48    

Si ce que tu as mis dans ton message est un copier-coller de ta page, tout s'explique. Tu as écrit = au lieu de == pour la version. Or une affectation retourne surement true. Donc tu passes toujours dans le premier cas.
 
J'ai eu un cas similaire :hello:


---------------
Dans le monde, il n'y a que 10 sortes de personnes : ceux qui savent compter en binaire et ceux qui ne savent pas
Reply

Marsh Posté le 27-04-2001 à 14:22:26    

bon merci fly LM, mais ça marche toujours pas  :cry:  
voila mon code :
if (navigator.appName == 'Netscape')
 {
     if (version != 4.7)
  {
            return true;
  }  
 }
    else
        return false;
 
 
et sous netscape 4.7 ça retourne qd meme true ...

Reply

Marsh Posté le 27-04-2001 à 14:48:22    

mmmmm bon ok ok ok j'ai rien dis ça marche. ça venait d'un pb de mon cote !
merci pour tout !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed