Multi-Redirection javascript aléatoire

Nouveau WRInaute
Bonjour, j'utilise un code javascript qui me permet de rediriger alétoirement automatiquement le visiteur vers une page web différente à chaque chargement de page.
J'aimerais améliorer ce code afin d'assigner un % à chaque page au lieu de devoir ajouter 15 X la meme url pour qu'elle ai + de chance d'apparaitre ^^ .
Quelqu'un pourrait m'aider à améliorer ce code ? Merci d'avance ;)
Voila le code que j'utilise actuellement:
Code:
<script>
function variable(url)
   {    
   window.location=url;  
   }  
   function LienAuHasard()  
   {    
   var a;    
   a = 1+Math.round(Math.random()*3);    
   if (a==1)      
   variable("http://url1.com");    
   if (a==2)      
   variable("http://url2.com");    
   if (a==3)      
   variable("http://url3.com");    
   if (a==4)      
   variable("http://www.url4.com");
   } 
</script>
Code:
<script type="text/javascript">LienAuHasard();</script>
 
WRInaute discret
Peut-être en faisant comme ceci :

Code:
<script>
function variable(url)
   {   
   window.location=url; 
   } 
   function LienAuHasard() 
   {   
   var a;   
   a = Math.round(Math.random()*100);   
   if ((a>=0)&&(a<15))     
   variable("http://url1.com");   
   if ((a>=15)&&(a<50))     
   variable("http://url2.com");   
   if ((a>=50)&&(a<70))     
   variable("http://url3.com");   
   if ((a>=70)&&(a<100))     
   variable("http://www.url4.com");
   }
</script>

En faisant bien attention que la somme des différences indiquées soient égales à 100 et se suivent.
Dans cet exemple 15% de chance que ça tombe sur le premier, 35% pour le 2ème, 20% pour le 3ème et 30& pour le dernier.
 
Nouveau WRInaute
prog-x a dit:
Peut-être en faisant comme ceci :

Code:
<script>
function variable(url)
   {   
   window.location=url; 
   } 
   function LienAuHasard() 
   {   
   var a;   
   a = math.round(Math.random()*100);   
   if ((a>=0)&&(a<15))     
   variable("http://url1.com");   
   if ((a>=15)&&(a<50))     
   variable("http://url2.com");   
   if ((a>=50)&&(a<70))     
   variable("http://url3.com");   
   if ((a>=70)&&(a<100))     
   variable("http://www.url4.com");
   }
</script>

En faisant bien attention que la somme des différences indiquées soient égales à 100 et se suivent.
Dans cet exemple 15% de chance que ça tombe sur le premier, 35% pour le 2ème, 20% pour le 3ème et 30& pour le dernier.
Merci, je pense que tu es sur la bonne voie par contre le code ne fonctionne pas il y a des erreurs javascript qui empeche son execution :/
 
Nouveau WRInaute
Ça fonctionne très bien si tu mets une majusucle à "Math"...

JavaScript est sensible à la casse. ;-)
 
WRInaute discret
Voilà c'est édité...

C'est ça de faire les choses en vitesse et de ne pas les tester... Prochaine fois je prends 2 min de plus promis!
:wink:
 
Discussions similaires
Haut