Refresh et Internet explorer

Eléphant du PHP | 291 Messages

08 juil. 2006, 12:49

Bonjour,

Je dois rafraichir une fenêtre mère à l'aide d'un popup, j'ai trouvé ceci :

Code : Tout sélectionner

window.opener.location.reload(true)


sur le forum, ca fonctionne très bien sous Firefox mais j'ai une erreur sous Internet explorer, pouvez-vous me confirmer que cela est normal et/ou me dire ou je pourrais trouver un equivalent ?

D'avance merci

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

08 juil. 2006, 15:48

Tu peux éventuellement essayer un

Code : Tout sélectionner

parent.opener.location.reload();
A tester, mais cela devrait fonctionner sur les deux navigateurs

Eléphant du PHP | 291 Messages

08 juil. 2006, 17:50

En fait c'est pareil j'ai la même erreur sous IE : 'parent.opener.location.reload();' a la valeur Null ou n'est pas un objet

Ca fonctionne bien sous Firefox pourtant, c'est peut être dans la facon de l'ecrire ?

Merci

Eléphant du PHP | 291 Messages

08 juil. 2006, 19:05

Peut être mal écrite mais aussi peut être mal utilisé ?

Je les mise comme ceci :

Code : Tout sélectionner

<body onload="window.opener.location.reload(true)">
merci

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

08 juil. 2006, 20:11

Pourquoi vouloir à tout prix passer la valeur true en paramètre ? :shock:

Eléphant du PHP | 291 Messages

10 juil. 2006, 13:40

Bonjour,

je ne veux pas utiliser le true en paramètre, à tout prix mais je l'ai trouvé ecrit comme ca, j'ai fais le test sans et l'erreur est toujours présente.

Merci

Eléphant du PHP | 291 Messages

10 juil. 2006, 14:30

sinon pour trouver une solution, je peux actualiser la page mère avec une balise meta refresh ?

merci

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

10 juil. 2006, 14:39

Et si tu fais un

Code : Tout sélectionner

alert (parent +"\n" parent.opener + "\n" parent.opener.location + "\n");
as tu un undefined quelque part ou toutes les valeurs sont elles définies ?

(le true en parametre du reload() force normalement l'actualisation de la page et empêche de la reprendre dans le cache)

Question bête, mais c'est bien la fenêtre que tu actualises qui a ouvert la popup ? (pas de frame ou autre)

Pour la balise meta refresh il te faudrait connaitre à l'avance le temps que va mettre l'utilisateur avant d'avoir besoin de rafraichir...

Eléphant du PHP | 291 Messages

10 juil. 2006, 14:54

alors sous IE :

[object]
undefined
'parent.opener.location.reload();' a la valeur Null ou n'est pas un objet


sous Firefox :

[object Windows]
[object Windows]
URL complète de ma page mère


J'ai du les faire une par une car sinon ca plantait direct. Je veux raffraichir la fenêtre mère sur le unload du popup. Il n'ya pas de frame ou autre.

Merci

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

10 juil. 2006, 15:14

groumpf !

C'est quelle version de IE ?
Tu fais bien un window.open pour ouvrir ta popup ?
Esssaye d'appeller l'action sur onBeforeUnload() :)

(c'est quand même pas un bout de javascript qui va faire la loi ?! ronthudjiu !!)

Eléphant du PHP | 291 Messages

10 juil. 2006, 15:27

trouvé ! effectivement je n'ouvrait pas le popup avec window.apen mais : top.window.showModalDialog

correction faites le rafraichissement se fais bien dans les 2 cas. Merci pour toutes tes réponses.

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

10 juil. 2006, 15:36

YES !!! VICTORY !! :)

Ryle 1 - 0 Javascript !!

Ca mérite bien un p'tit [résolu] ça, nan ? ;)

Eléphant du PHP | 291 Messages

10 juil. 2006, 15:39

c'est clair :) merci