Problème de redirection

Résolu
reecob Messages postés 10 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 25 avril 2007 - 20 avril 2007 à 14:53
reecob Messages postés 10 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 25 avril 2007 - 20 avril 2007 à 16:25
Bonjour à tous, voilà, je suis encore un noob en JS. Ca fait environ 2h que je galère à faire une redirection temporelle, je ne comprends pas mon erreur. Algorythmiquement, ça me parrait correct, mais quelque chose cloche, aidez moi SVP, merci d'avance.

Voilà le code source:

function Redirige(url,temps)
{   
    temps= temps-1;
    document.getElementById ("redirection").innerHTML =temps;
    if(temps<0)
    {    setTimeout("Redirige("+url+","+temps+")",1000);}
    else
    {    windows.setTimeout("location=('"+url+"');",1000);}   
}

8 réponses

cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
20 avril 2007 à 15:02
Bonjour




faire :
seetTimeout(function(){
    redirige(url, temps)}, 1000);

Cordialement
Roro06
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
20 avril 2007 à 16:03
A la lecture du code,
j'en ai déduit qu' au bout d'un certain temps l'url de la page changée...

J'ai omis de signaler, à toutes fins utiles que dans le code fournit...

1/  if( temps < 0)
=> on ne passe jamais dans la condition sauf si on démarre le comptage à zéro ou en négatif ??

2/ setTimeout("Redirige('" +url +"'
," +temps +")", 1000);
il faut des quotes sinon il recherche la variable url

3/windows.setTimeout
window s'écrit sans s
;0)
3
reecob Messages postés 10 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 25 avril 2007
20 avril 2007 à 16:25
C'est bon, en fait, j'ai résolu le problème, voilà donc le code qui fonctionne parfaitement, merci à tous.

function Redirige(url,temps)
{    
    temps=temps-1;
    document.getElementById("redirection").innerHTML=temps;
    if(temps>0)
    {    setTimeout(function(){Redirige(url,temps)},1000);}
    else
    {    window.setTimeout("location=('"+url+"');",1000);}    
}
3
reecob Messages postés 10 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 25 avril 2007
20 avril 2007 à 15:07
Je sais pas pourquoi, mais ça ne marche toujours pas, toutefois, merci pour ta réponse rapide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
20 avril 2007 à 15:20
B
onjour...
je tenterais un truc du style

function Redirige( url, temps){
  temps =temps-1;
  document.getElementById("redirection").innerHTML = temps;
  if( temps > 0){
    setTimeout("Redirige('" +url +"'," +temps +")", 1000);
  }
  else{
   document.location = url;
  }
}

;0)
0
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
20 avril 2007 à 15:34
Bonjour







C'est quoi, une redirection temporelle ?






Cordialement
Roro06
0
reecob Messages postés 10 Date d'inscription lundi 20 juin 2005 Statut Membre Dernière intervention 25 avril 2007
20 avril 2007 à 16:23
Merci pour ces petites fautes idiotes, en fait, mon probleme a changé, et ma variable temps n'est pas décrémentée.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 avril 2007 à 16:24
Bonjour,

     je suppute que reecob veut faire une redirection après
       un certain délai, et en attendant, afficher le temps restant
       avant cette redirection....
    c'est ça ? si oui, on devrait bien pouvoir te donner un lien
       ou un exemple....

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]




<hr />
on ne dit pas je suppute, mais je suis péripatéticienne
0
Rejoignez-nous