Page 1 sur 1

énième problème de refresh

Posté : 12 mai 2006, 00:57
par loicperron
Bonjour
Ma page index de mon site est constituée de 3 frames (bandeau, menu, corps).
dans menu j'ai une option connexion, qui ouvre un popup pour authentification, pas deproblème tout ceci fonctionne très bien.
En sortant de ce popup je cherche le moyen le plus simple possible de rafraichir ma page d'accueil composée des 3 frames.

merci d'avance

Posté : 12 mai 2006, 01:15
par PsykoCors
Pas forcement de avec le php.

Pour afficher tes 3 frames, tu passe forcement par une page qui appelle ces 3 frames. Donc il faut que tu rafraichisses cette page la.

Ensuite, pour détecter la fermeture, il faut que tu utilises de l'actionscript voir de l'ajax. Cherche de ce coté la

Posté : 12 mai 2006, 01:45
par loicperron
oui, je sais qu'il faut chercher du coté de java, mais je ne trouve pas mon bonheur parmi les sujets traitant du problème mais il u en a tant.
je vais continuer à charcher, pour l'instant j'arrive à ouvrir ma page d'accueil, mais ça en fait 2 d'ouvertes, 1 avant popup et l'autre après ce n'est pas tout à fait ce que je souhaite

Posté : 12 mai 2006, 10:00
par Ryle
Sujet à passer côté javascript, il te faut jouer avec l'arboresence du dom :

- sur les pages incluses dans ta frame, l'utilisation de l'objet "parent" te permet de remonter au niveau de la frame elle même
- sur ta popup, l'utilisation de "parent.opener" te permet de trouver la page qui l'a ouverte.

Tu peux ainsi depuis ta popup faire référence à ta frame en faisant :
"parent.opener.parent"

Et dès lors l'actualiser :

Code : Tout sélectionner

parent.opener.parent.location.reload();
Ou bien la renvoyer vers une autre page

Code : Tout sélectionner

parent.opener.parent.location='autrePage.html';
Et personnellement je rebasculerais le focus sur la fenêtre principale pour la faire revenir au premier plan avant de fermer la popup :)

Code : Tout sélectionner

... // ajouter les tests nécessaire pour en arriver là parent.opener.parent.location.reload(); // recharge la frame parent.opener.parent.focus(); // met la frame au premier plan self.close(); // ferme la popup

Posté : 12 mai 2006, 11:02
par Cyrano
Sujet à passer côté javascript
C'est fait ;)

Posté : 12 mai 2006, 11:29
par Ryle
merci m'sieur :)

Posté : 12 mai 2006, 12:39
par loicperron
Je viens de tester le code de Ryle

Génial, exactement ce que je voulais, je ne pouvais pas espérer mieux.

Merci