[JavaScript] platform/navigator.appName

Résolu
Salut, pouvez-vous m'aider à faire fonctionner ce script?
<head><script language=javascript>
function main(){
while(platform == 'Linux' && navigator.appName == 'Konqueror'){location = 'index'};
while(platform == 'Linux' && navigator.appName == 'Mozilla'){location = 'index-mz'};
while(platform == 'Linux' && navigator.appName == 'Firefox'){location = 'index-mz'};
while(platform == 'Windows' && navigator.appName == 'Mozilla'){location = 'index-mz'};
while(platform == 'Windows' && navigator.appName == 'Firefox'){location = 'index'};
while(platform == 'Windows' && navigator.appName == 'Internet Explorer'){location = 'index-ie'}}
</script></head>
<body onload='main()'></body>

5 réponses

  1. Contributeur
    Salut!
    ça te renvoie quelle erreur?
    Mais bon,essai ceci:
    <head><script language=javascript>
    function main(){
    while(platform == 'Linux' && navigator.appName == 'Konqueror'){location = 'index'};
    while(platform == 'Linux' && navigator.appName == 'Mozilla'){location = 'index-mz'};
    while(platform == 'Linux' && navigator.appName == 'Firefox'){location = 'index-mz'};
    while(platform == 'Windows' && navigator.appName == 'Mozilla'){location = 'index-mz'};
    while(platform == 'Windows' && navigator.appName == 'Firefox'){location = 'index'};
    while(platform == 'Windows' && navigator.appName == 'Internet Explorer'){location = 'index-ie'};
    }
    </script></head>
    <body onload="main();"></body>
    
    1. Euh ! je ne suis pas programmeur, mais je crois qu'il faut écrire window sans le s au bout.
      1. J'ai essayé de généraliser le script alors
        function main(){
        while(navigator.appName == 'Konqueror'){document.src = 'index'};
        while(navigator.appName == 'Mozilla'){document.src = 'index-mz'};
        while(navigator.appName == 'MSIE'){document.src = 'index-ie'};
        else{document.src = 'index-2'};
        }


        mais ça marche pas!
        1. Je ne suis pas sûr que else fonctionne avec while.

          Il vaudrait peut-être mieux enchaîner des if, à moins qu'une instruction du genre "case" existe. Le code serait alorsplus maintenable. Vérifier dans le cas de case si else est le bon mot. Dans certains langages, c'est otherwise qui est le mot correct.

          Rappel : je ne suis toujours pas programmeur, alors testez bien mes suggestions…
      2. non je crois que le problème est dans {document.src = 'index'} il ne peut pas charger la page
        1. Je n'ai pas d'opinion sur votre opinion.

          Mais, à toutes fins utiles, je fais un copier-coller du site startyourdev.com :

          La structure switch est complémentaire à la structure if. Elle permet d'éviter des accumulations de tests en prenant en entrée un paramètre et en traitant tous les cas dans des blocs spécifiques.

          Exemple :
          La structure switch se présente de la façon suivante :

          var condition=7;
          switch(condition){
          case '1' : document.write("Valeur trouvée : 1");
          break;
          case '1' : document.write("Valeur trouvée : 3");
          break;
          case '1' : document.write("Valeur trouvée : 5");
          break;
          case '1' : document.write("Valeur trouvée : 7");
          break;
          default : document.write("Valeur non trouvée");
          }

          Résultat :
          Valeur trouvée : 7