énième problème de refresh

Eléphanteau du PHP | 11 Messages

12 mai 2006, 00:57

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

Eléphant du PHP | 59 Messages

12 mai 2006, 01:15

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

Eléphanteau du PHP | 11 Messages

12 mai 2006, 01:45

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 mai 2006, 10:00

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

Mammouth du PHP | 19672 Messages

12 mai 2006, 11:02

Sujet à passer côté javascript
C'est fait ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 mai 2006, 11:29

merci m'sieur :)

Eléphanteau du PHP | 11 Messages

12 mai 2006, 12:39

Je viens de tester le code de Ryle

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

Merci