Problème de Frame

cs_LeGuepard Messages postés 38 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 7 septembre 2015 - 14 août 2005 à 17:42
cs_Zart Messages postés 285 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 27 juin 2006 - 15 août 2005 à 17:39
Salut à tous !

Alors voila, j'ai un MEGAPROBLEME d'ouverture de page dans des frames donc les liens à partir des menus se font en JavaScript.

Explications:

J'ai donc une page appelée "index.html" qui contient le code suivant pour les frames.

<HTML>



<HEAD>
<TITLE>LeGuepard: Le site!</TITLE>
</HEAD>


<FRAMESET border= 0 framespacing=0 rows=100,* frameborder=no>
<FRAME name=Entete src="entete.html" noresize scrolling=no>
<FRAMESET border=0 framespacing=0 frameborder=no cols=200,*>
<FRAMESET border=0 framespacing=0 rows=25,* frameborder=no>
<FRAME name=Titre src="titre.html" noresize scrolling=no>
<FRAME name=MenuGauche src="menugauche.html" noresize scrolling=no>
</FRAMESET>
<FRAME name=Principal src="home.html" noresize scrolling=no>
</FRAMESET>



<NOFRAMES>

Page avec Frame


</NOFRAMES>


</FRAMESET>


</HTML>

Ensuite, j'ai une autre page avec des frames appelée "principal.html".

<HTML>

<HEAD>
<TITLE>LeGuepard: Le site!</TITLE>
</HEAD>



<FRAMESET border=0 framespacing=0 cols=*,1 frameborder=no>
<FRAMESET border=0 framespacing=0 rows=100,* frameborder=no>
<FRAME name=MenuHaut src="menuhaut.html" noresize scrolling=no>
<FRAME name=PagePrincipale src="presentation.html" noresize>
</FRAMESET>
<FRAME name=Bord src="bord.html" noresize scrolling=no>



<NOFRAMES>

Page avec Frame


</NOFRAMES>



</FRAMESET>



</HTML>

Sauf pour la page d'accueil "home.html", j'ai donc deux menus, un normal sur le coté gauche et un déroulant en haut. Dans la page que gère mon menu déroulant il y a une bannière en flash pour le titre de chaque page. Celle-ci doit changer à chaque fois que l'on change de page. J'ai dont fais cette petit fonction dans mon fichier "menu.js":

function linkMenu(page)
{
parent.Principal.location.href = 'principal.html';
parent.Principal.MenuHaut.titre_flash_obj.movie = '../object/'+page+'_titre.swf';
parent.Principal.PagePrincipale.location.href = page+'.html';
}

La première ligne c'est pour appeler la page "principal.html" dans le où on serait dans la page d'accueil qui elle n'est pas coupée en deux.

Mon problème c'est que ca ne fonctionne pas !!

Il charge bien la page "principal.html" dans le la frame "Principal" de la page "index.html", mais il ne modifie pas l'animation flash et ne charge pas la page voulue dans la frame "PagePrincipale" de la page "principal.html".

Par contre si j'enlève cette première ligne, cela fonctionne parfaitement, pour autant que la page en cours soit déjà la page de frames "principal.html" chargée dans la frame "Principal" de la page "index.html".

Mais alors cela me pose problème pour ma page d'accueil qui est en une seul bloque.

On a vraiment l'impression que la fonction s'arrête après la première ligne comme si les instructions suivantes ne pouvaient pas être executées parce que la page "principal.html" ne serait pas encore chargée.
J'ai bien pensé à faire une reload(), mais sans succès.

function linkMenu(page)
{
parent.Principal.location.href = 'principal.html';
parent.Principal.location.reload();
parent.Principal.MenuHaut.titre_flash_obj.movie = '../object/'+page+'_titre.swf';
parent.Principal.PagePrincipale.location.href = page+'.html';
}

Quelqu'un pourrait-il m'aider? C'est assez urgent car je n'ai que jusqu'à la fin des vacances pour finir mon site, après je n'aurais malheureusement plus autant de temps à lui consacrer après la rentrée.

Merci à tous. Si vous avez des questions sur mes explications une peu compliquées, n'hésitez pas à me laisser un petit message.

Merci, a bientôt !

4 réponses

cs_Zart Messages postés 285 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 27 juin 2006 1
15 août 2005 à 13:48
Oulà un peu vaste tu as une frame dans une frame si j'essai de bien comprendere...

La solution c'est peut être de faire un parent.parent.

Pour récupérer le cadre principale... Enfin peut être aucune idée j'en
sais rien le code est énorme, fait des tests avec des cadres plus petis
s'il y a une ereur JS dit-le nous sinon c'est surement un problème de
ce genre...

Pour le flash je nen ai aucune idée j'en ai fait un peu mais je ne crois pas être en mesure de te répondre...
0
cs_LeGuepard Messages postés 38 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 7 septembre 2015 2
15 août 2005 à 15:42
Merci de ta réponse, mais en fait j'avais aussi essayé cela mais sans succès.
Est-ce possible que si je mets trois lignes d'instruction ca bug et que deux ca passe ?
0
cs_Zart Messages postés 285 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 27 juin 2006 1
15 août 2005 à 17:27
Est-ce que tes frames s'affichent correctement ?

Tu mets des couleurs différentes pour chaque page et ensuite tu regarde si tu as le résultats que tu veux !!!
0
cs_Zart Messages postés 285 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 27 juin 2006 1
15 août 2005 à 17:39
Ton fichier menu.js, il est ou ?

C'est peut être ça le problème... S'il n'est pas au bon endroit, ça foire. Tu utilises quoi comme navigateur ?

Si tu utilises IE tu as une indication sur la ligne de l'erreur ?

Du coup tu aurais peut être une idée de ton problème...

Pour moi maintenant j'en suis sur c'est pas un problème d'agencement
des frame je me suis fait un dessin pour voir à quoi ça ressemblait
c'est tortueux mais c'est bon, sinon j'ai aussi fait un test sur les
frame agencé comme tu l'as fait. Et normalement ça doit fonctionner le
seul problème peut venir de l'endroit d'ou tu appelle ce script !

S'il est dans une des frames ça fonctionne sinon tu fait directemet un document.principal etc...



Envoi moi le code en entier sur traaaz@gmail.com
0
Rejoignez-nous