Affichage cyclique de plusieurs pages web dynamiques

Résolu
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009 - 1 sept. 2009 à 12:15
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009 - 2 sept. 2009 à 15:42
bonjour
pendant ma periode de stage, je doit effectuer une application, il s'agit d'un affichage cyclique des pages web dynamiques existantes et indépandantes (chargement de la page toutes les X secondes
sachant que mes pages doivent s'afficher d'une maniére periodique .
j'ai beaucoup essayer de résolu ce problem mé sans aucun résultat
voici le code :
var pages = new Array("nani.html","kati.html","loli.html","rita.html");

var sui=0;
// function de rechargement
window.onload=function()

{

var nom=unescape(self.location.pathname).split('/'); // chemin/.../chemin/.../page_actuelle
nb1=pages.length;
pag=nom[nom.length-1];//page acutelle
while(sui<nb1)

{for(i=0;i<nb1;i++)
{
if(pages[i]==pag);
sui =i+1;
}}
else {sui =0;}

}

// --- lancement de la fonction de rechargement dans TIME millisecondes exactement

setTimeout ( function() // on chargera s

{ location.replace(pag,pages[sui]); }, 1000 ); // dans 1 seconde



svp si vous avez une idée coment je peux le faire pour que mon scripte fonctionne car je suis vraiment perdue et je suis tres en retard
merci d'avance.

18 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 16:02
difficile d'aider justement !
>>j'ai essayé le code ca donne rien
ça n'existe pas !
il y a au moins des messages d'erreurs !
et chez moi, navré, mais ça baigne
les pages html :
nani ou autre pour voir où on est !!! pour les essais !!!
<script type="text/javascript" src="der.js"></script>

le .js
window.onload=function()
{ var nom=unescape(self.location.pathname).split('/');
var pag=nom[nom.length-1];
var pages=new Array( "nani.html", "kati.html", "loli.html", "rita.html" );
var nb1=pages.length;
var sui=0;
for ( i=0; i<nb1; i++ )
{ if ( pages[i]==pag )
{ sui=i+1;
if ( sui >= nb1 )
{ sui=0; }
break;
}
}
setTimeout ( function()
{ location.replace( pages[sui] ); }
,1000 );

}



et perso, sur le coup, je préfère les iframe :o)))
car on ne touche pas aux pages html existantes
et 1 seule fois le script ( plus simple d'ailleurs )

test.htm :


<script type="text/javascript">
var pages=new Array("nani.html","kati.html","loli.html","rita.html");
var index=1;
setInterval( function() { index++;
document.getElementById("aff").src=pages[index%pages.length]; }, 1000 );
</script>

3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 12:34
on en a déjà causé kate,
si vous voulez que les pages s'enchaînent
en gérant cela en javascript, il faut mettre
le script sur chaque page
et déterminer soit sur quelle page on est soit
la page suivante à afficher

le plus simple c'est de donner un nom de page
qu'on incrémente ( comme dans l'exemple que
je vous ai fourni ici )

si vous tenez à tout prix à faire autrement :

_ déterminez dans quelle page vous êtes
( vous avez le code dans mon exemple )
_ recherchez la dans votre array pour
déterminer la page suivante
_ chargez cette nouvelle page après avoir
attendu le temps voulu
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 12:54
peut-être serait-il plus simple d'utiliser
un iframe pour afficher ses pages (?)
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
1 sept. 2009 à 13:09
Re
>>essayez, testez, "décortiquez" chaque ligne
c'est assez simple : 4 lignes en javascript !
et rien d'autre.
>>ne sont pas nommées de cette façon
soit vous les renommez pour que ça baigne
soit vous modifiez le script pour ça colle

ben c'est ca ce que j'ai essayer de le faire ,j'ai bien compris ton scripte et j'ai decidé de le modifier mé comme j t'ai déja dit sans aucun resultat
utiliser iframe ?? c'est koi ca ?
0

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

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 13:40
kate, kate... ne comptez sur personne
pour faire à votre place !
primo, ça ne vous apporterait rien !
( remarquez qu'à moi non plus !
faire le script à votre place n'apporte rien à personne ,
vous aider à le faire, ça, ça peut, au moins à vous )

>>j'ai bien compris ton scripte
c'est bien.

>>et j'ai decidé de le modifier
pourquoi ne pas l'adapter à ce qu'on veut bien entendu

>>comme j t'ai déja dit sans aucun resultat
c'est normal... tel que vous faites,
ça ne peut pas fonctionner !

relisez ce que je vous dis ici, je me cite :
[i]_ déterminez dans quelle page vous êtes
( vous avez le code dans mon exemple )
_ recherchez la dans votre array pour
déterminer la page suivante
_ chargez cette nouvelle page après avoir
attendu le temps voulu
/i
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 13:53
quand aux iframe, mon foie, vous
n'avez pas de documentation ?
sur selfHTML par exemple
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
1 sept. 2009 à 14:07
Re
oki bul merci bien comme meme
mais ce que vous me demendez de le relire c'est ce que j'ai essayer de l'appliquer dans le code que j'ai met ci-dessus ,c'est qlq chose de nouveau pr moi
merci en tout cas
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 14:21
>>j'ai essayer de l'appliquer dans le code
>>que j'ai met ci-dessus
certes, certes... mais debugger !!
avec déjà, FF, pas exemple :

Erreur : syntax error
Fichier Source : file:...htm
Ligne : 16, Colonne : 1
Code Source :
else { sui =0; }

et si on décale ( indente ) pour voir :
...
while(sui<nb1)
{ for(i=0;i<nb1;i++)
{ if(pages[i]==pag);
sui =i+1;
}
}
else { sui =0; }

le else se rapporte à quoi ?


vous n'êtes pas "si loin au fond"
mais j'ai déjà mis aussi non ? :
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 14:33
et, regardez aussi votre location.replace(pag,pages[sui]);
la syntaxe n'est pas correcte : ça n'admet qu'un seul
paramètre, en plus, à ce niveau, "pag" est indéfini.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 14:47
allons....
essayez donc comme çà :
<script type="text/javascript">
window.onload=function()
{ var nom=unescape(self.location.pathname).split('/');
var pag=nom[nom.length-1];
var pages=new Array( "nani.html", "kati.html", "loli.html", "rita.html" );
var nb1=pages.length;
var sui=0;
for ( i=0; i<nb1; i++ )
{ if ( pages[i]==pag )
{ sui=i+1;
if ( sui > nb1 )
{ sui=0; }
break;
}
}
setTimeout ( function()
{ location.replace( pages[sui] ); }
,1000 );
}
</script>


le script doit être dans toutes les pages !
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 15:13
et d'ailleurs :
...
for ( var i=0; i<nb1; i++ )
...
if ( sui >= nb1 )
...
enfin.... je pense, pas testé
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
1 sept. 2009 à 15:20
Re
vous essayez tjrs de m'aider
merci bien
mais comme tjrs aucune interactivité
j'ai essayé le code ca donne rien
meme si il apparait trés logique
et bien sur j'ai met le scripte dans tous lrs pages
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
1 sept. 2009 à 16:25
enfin !
oui moi aussi je préfere ne pas toucher les pages html .votre solution est la meillieur .
problém résolu
merci bien
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 16:38
>>solution est la meilleure
très loin d'être sûr !
le script est plus simple,
il n'existe qu'une seul fois,
on ne touche pas aux pages...
d'aucuns verront cela d'un mauvais œil !

je vous avais dit de
regarder les iframe ;o)

ça aurait été bien de comprendre pourquoi
l'autre solution ne fonctionnait pas, enfin
chez vous, mais bon...
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 16:46
et vous pourriez faire ça avec
uniquement des balises <meta> ;o)
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 16:49
nani.html:
...
<meta http-equiv="Refresh"
content="1; URL="kati.html">

kati.html:
...
<meta http-equiv="Refresh"
content="1; URL="loli.html">

...etc...
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
1 sept. 2009 à 17:53
" en trop...
<meta http-equiv="Refresh"
content="1; URL=loli.html">
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
2 sept. 2009 à 15:42
bonjour Bul3

merci bien pour les trois methodes
je tiens juste à vous informer que j'ai bien aimé la methode de iFrame sauf que pendant l'affichage c'est le contenu de l'iframe qui change et pas la page qui contient l'iframe.
dans les pages s'affichent ds le cadre de l'iframe . pour les autres methodes y a pas de probléme tous marche bien .
je doit choisir une pour que je puisse continuer sur mon application

merci
0
Rejoignez-nous