Redirection automatique (n+1)

Résolu
Utilisateur anonyme - 26 oct. 2008 à 16:53
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 28 oct. 2008 à 15:22
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
A voir également:

10 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
26 oct. 2008 à 17:53
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.
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 oct. 2008 à 18:10
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]         
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 oct. 2008 à 14: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]         
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 oct. 2008 à 18:18
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]         
0

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
26 oct. 2008 à 18:38
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"}
0
Utilisateur anonyme
28 oct. 2008 à 02:07
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!
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 oct. 2008 à 07:55
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]         
0
Utilisateur anonyme
28 oct. 2008 à 14:15
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>
0
Utilisateur anonyme
28 oct. 2008 à 15:06
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] ... ?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 oct. 2008 à 15:22
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]         
0
Rejoignez-nous