cs_lionhell
Messages postés8Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention19 avril 2009
-
18 avril 2009 à 12:41
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
19 avril 2009 à 12:46
J'ai un problème que je n'arrive pas à régler:
Dans un CMS (xoops) j'ouvre une popup avec "x = window.open(...)".
Ensuite je souhaite accéder à certains éléments présents dans la popup, donc en faisant référence à la variable "x" d'ouverture.
Le problème:
Quand on navigue dans un site créé avec xoops, chaque clic sur un lien recharge l'ensemble de la page, donc recharge la fenêtre parente.
Cela a pour conséquence de faire perdre la variable d'ouverture de popup "x" et le dialogue devient impossible !
La question:
Comment conserver le dialogue avec la popup ouverte par "x = window.open(...)" lorsque la fenetre parente est rafraichie ?
cs_lionhell
Messages postés8Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention19 avril 2009 18 avril 2009 à 14:23
Est-ce qu'en ouvrant à nouveau la même fenêtre les variables sont conservées ou est-ce que tout est réinitialisé ?
Je pense qu'il y a une autre solution, mais qui sort peut-etre de javascript, vbscript ou php .... il faudrait récupérer le handle de la fenetre ?
Autre piste, quand on clique sur un lien <a href=... on peut définir target, ensuite on peut toujours appeler la fenetre par son nom de target .... il doit bien y avoir un équivalent en javascript !?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 18 avril 2009 à 14:34
>>Est-ce qu'en ouvrant à nouveau la même fenêtre les variables sont conservées
>> ou est-ce que tout est réinitialisé ?
c'est réinitialisé bien sur,
mais rien n'empêche d'utiliser un cookie, par exemple.
>>Je
pense qu'il y a une autre solution, mais qui sort peut-etre de
javascript, vbscript ou php ....
>>il faudrait récupérer le handle de la
fenetre ?
javascript/vbscript ou php : oublie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 18 avril 2009 à 14:57
>>pourquoi alors ne peut-on appeler la fenêtre "target" quand le parent s'est rafraichi
parce que les variables sont réinitialisées tiens
la même chose que si tu relances n'importe quel programme
mais : on peut pallier "facilement" :
window.open avec le même target + cookie si nécessaire
@+
cs_Kimjoa
Messages postés262Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention19 septembre 2014 18 avril 2009 à 20:47
je tente :) , ptète générer un index basé sur des frames qui inclue le fichier index de xoops (donc toucher au code php ki le génère ) ... et ensuite faire enregistrer une variable dans la page parent(donc la frame) qui va générer la popup....
y'a moyen , c'est sur , j'éspère que j'aurais pu t'aider, pas facile !! .... bye
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 19 avril 2009 à 08:48
si tu coches "réponse acceptée" ça veut dire
merci à toi et problème résolu !
inutile que je te donne un exemple alors ???
la page mère
<script>
window.open("pop.htm","pop");
</script>
le pop-up
<html>
<script>
var nb=document.getElementById("nb");
var saisie=document.getElementById("saisie");
function rafraichir()
{ var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
document.cookie = nb.value+"_"+saisie.value +
";expires=" + d.toGMTString() + ";" ;
window.opener.location.reload();
}
if ( document.cookie )
{ var tmp=document.cookie.split("_");
tmp[0]++;
nb.value=tmp[0];
saisie.value=tmp[1];
}
else { nb.value="1";
saisie.value="saisissez un texte ici";
}
</script>
</html>
je ne joue ici qu'avec des champs... pour qu'on voit ce qui se passe
à toi d'adapter !
cs_lionhell
Messages postés8Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention19 avril 2009 19 avril 2009 à 11:23
Oui, pour le coup de la réponse acceptée j'ai cliqué machinalement, et je ne connaissais pas ce système.
Pour ta réponse, j'ai compris le système de création du cookie pour conserver les paramètres mais je ne sais si c'est la solution, car il ne faut pas que la popup recharge (cela créerait une interruption d'un message audio).
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 19 avril 2009 à 11:31
pas de solution si tu restes sur
"utiliser un pop-up,
rafraîchir la page mère,
continuer à utiliser le même pop-up sans le recharger"
je pense ( donc j'essuie )
il faut voir les choses autrement, mais on n'a pas toutes les billes...
cs_lionhell
Messages postés8Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention19 avril 2009 19 avril 2009 à 12:38
Le problème est que je ne "maitrise" pas le système xoops.
Quand on navigue dans un site créé avec ce CMS, tout se recharge quand on change de page ...
D'un autre côté je veux faire écouter un message audio qui ne soit pas coupé quand on visite le site ( http://www.ch-pertuis.com ). Une page de xoops est composée de blocs qui peuvent être affichés sur toutes les pages ou seulement quelques unes. Mais quel que soit le chiox, ils sont rechargés pendant la navigation.
Donc le seul moyen que j'ai imaginé c'est de créer une popup pour diffuser l'audio ... et ce rechargement des parents pose problème pour communiquer avec la popup.
Voila, tu sais tout ! Si tu as une autre solution ...
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 19 avril 2009 à 12:46
>>faire écouter un message audio qui ne soit pas coupé quand on visite le site
primo, déjà, vaut mieux éviter... ça lasse vite les visiteurs !
deuxio, c'est la même histoire que jouer une musique sans l'interrompre
kimjoa t'as donné la seule solution : les iframe
@+