Redirection automatique (n+1) [Résolu]

Signaler
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Redirection automatique "n+1"

bonjour,
je cherche un script pour une redirection "n+1"
je mexplique,
j'ai plusieur pages numéroté de 1 à n (1.htm, 2.htm, 3.htm......n.htm"
ce que je veux c'est une redirection auto du page 1 a 2 et de 2 a 3 et de 3 a 4...
jusqu en ariven a "n" avec une condition le script et introduit que dans 1ere page ou la page index et pas sur tous les pages.

je ne veux pas une redirection sur une seul page ou url comme sur ce message que j'ai repandu moi meme!
http://forum.telecharger.01net.com/telecharger/programmation_et_developpement/html__javascript/redirection_automatique__script_-311660/messages-2.html#5436040

Merci

10 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
salut

je ne sais pas trop comment tu veux gerer ca, donc je te donne une solution facile a modifier :

tu vas sur 1.html et tu tapes ca dans ta barre d'adresse :

javascript:{ urlsplitwindow.location.href.split("/"); pagename urlsplit[urlsplit.length -1 ]; num = pagename.split(".")[0]; window.location.href=(num*1+1)+".html"}

tu vas alors te retrouver sur 2.html

en retapant la meme chose, tu vas te retrouver sur 3.html, et ainsi de suite.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
bonjour,

tu veux, tu veux... t'es un marrant toi !
et si c'est pas possible ? hein !

donc.. en javascript, on est d'accord ?
bien que le langage sur le serveur ( asp, php, ruby.. )
serait probablement bien plus mieux

>>une condition le script et introduit que dans 1ere page ou la page index et pas sur tous les pages
là, à part les cookies ou passer l'info dans l'url, point de salut je pense

alors disons dans l'url, avec un 17 comme maxi

un script dans toutes les  pages :

window.location.search récupère le paramètre de l'url ( ?17  ou rien )
un substr(1) et on a 17 ou rien ==> toto
unescape(self.location.pathname); récupère le nom de la page en cours,
un split sur "/"
sur le dernier poste, un split sur "."
le 1er poste contient donc le n° de la page ( 1,2,3....17 )

si c'est == toto
mettre n° page = 0

et quoi qu'il arrive
ecrire <meta http-equiv="Refresh"
      content="0; URL="+(n° de page + 1)+
".htm/"+
window.location.search>
ou alors location.href ou replace ou...
 vers (n° page+1).htm+"/"+window.location.searc

Cordialement

          Bul [mon Site] [M'écrire]         
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
meta.. c'est du html !
          pas de calculs possibles  tel que tu le fais
          ( faudrait le faire en js avec document.write et encore... )
en plus tout ce que tu prévois c'est le passage de la page 1 à la page 2 ( 1+1 )

hors javascript ( coté client ) point de salut !

ch'tiot exemple !  ( peut mieux faire !!!! )

1.htm ( les autres sur le même modèle ! )
<!--table style="width:100%;">
<tr>
<td style=" border-width:2px;
border-style:solid;
border-color:#FF8000;
font-family:Courier New;
color:#400040;
font-size:12px;
background-color:#FFEFEF;">


</td>
</tr>
</tbody>
</table--><html>

   

        <script type="text/javascript" src="nvpage.js"></script>

        page 1

        (2)"

                    onclick="trait();" />

   

</html>

nvpage.js :
<!--table style="width:100%;">
<tr>
<td style=" border-width:2px;
border-style:solid;
border-color:#FF8000;
font-family:Courier New;
color:#400040;
font-size:12px;
background-color:#FFEFEF;">


</td>
</tr>
</tbody>
</table-->function trait()

{ var max=window.location.search.substr(1);

  if ( max.length==0 ) max=3;  // de 1 à 3.htm maxi du coup !!!

  var nom=unescape(self.location.pathname).split("/");

  var pag=nom[nom.length-1].split(".");

  var sui=1+(Number(pag[0])%Number(max));

  location.replace(sui+".htm");
}

max=3, c'est le maxi, donné uniquement dans la 1ère page
            ( celle qu'on appelle sans paramètre dans l'url )
            c'est tout ce qui est à modifier.
j'ai fais "simple", 1 instruction par ligne.
( de toutes manières, je ne suis pas capable d'autre chose alors ... )
passage de page en page en cliquant sur un bouton,
on peut bien entendu automatiser ( setTimeout "au lieu de" onclick  )
tu adapteras....

Cordialement

          Bul [mon Site] [M'écrire]         
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
et plutôt qu'un test par rapport au maxi,
    utiliser le ( reste de la division du n° de page par le  maxi ) + 1
    qui variera donc de 1 à maxi
    pour la logique de la 1ère explication valait mieux ne pas en
           parler, dans un 1er temps

          Bul [mon Site] [M'écrire]         
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
ouais, si t'ajoutes un nombre max (genre 4)

javascript:{ urlsplitwindow.location.href.split("/"); pagename urlsplit[urlsplit.length -1 ]; num = pagename.split(".")[0]; window.location.href=((num*1)%max+1)+".html"}

re:bonjour,
merci beaucoup pour vos réponses, mais malgré vous efores... désolé je n'ai pas réussi à faire tourner le script .

s'il vous plaît télécharger les fichiers (1ko) et dit moi sur quoi je me suis trempé!!
http://sd-1.archive-host.com/membres/up/1145036972/n1.rar

merci pour votre support!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
euh.. c'est un javascript de quelques lignes
tu peux le mettre ici.
et le nécessaire, tout le nécessaire, mais rien que le nécessaire,
pas 2569875 lignes, pas de php.... sinon, ça décourage.
          Bul [mon Site] [M'écrire]         

j'utilise un serveure local "Mov'AMP 0.6" et j'ai créer 15 pages "htm" (1.htm, 2,htm, 3.htm .... 15.htm) plus une page "index.htm" j'ai introduit le code sur la page "index.htm" mais la page se rafraichie sur elle même (pas de passage sur les autre pages)!

<metahttp-equiv="Refresh"
             content="5; http://localhost/ "+(1 + 1)+
                             ".htm/"+
                             window.location.search>

merci beaucoup, je opte pour cette solution j'ai fait le test meme avec "setTimeout",  fonction bien.

comment modifier le titre du sujet pour ajoutant [Résolu] ... ?
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
tu coches "réponse acceptée" sur le[s] message[s]
    qui t'a[ont] aidé
nickel si ça baigne.
( perso j'aurais néanmoins fait coté serveur )
          Bul [mon Site] [M'écrire]