fermer une popup [ - Re-Job's Done - ]

fermer une popup [ - Re-Job's Done - ] - HTML/CSS - Programmation

Marsh Posté le 22-07-2003 à 15:09:45    

attention, cette demande ne ressemble pas à celle mis en nota.
 
à partir d'une fenêtre A, j'ouvre une fenêtre B en lui donnant le nom 'hello'.
 
je voudrais, à partir de ma fenêtre A, fermer la fenêtre 'hello'.
 
j'ai essayé de faire un window.close('hello'); et un window.close(hello); mais ça ne marche pas.
 
vos lumières serais apréciées, merci. http://forum.hardware.fr/icones/icon3.gifhttp://forum.hardware.fr/icones/icon3.gifhttp://forum.hardware.fr/icones/icon3.gif


Message édité par xkamui le 23-07-2003 à 08:33:21
Reply

Marsh Posté le 22-07-2003 à 15:09:45   

Reply

Marsh Posté le 22-07-2003 à 15:11:09    

ca serait pas plutot hello.close?
 
puisque tu as appelé ta fenetre hello, le "window" c le pointeur vers la fenetre, donc la tienne a le nom hello
 
tente mais jsuis pas vraiment certain de mes propos :D

Reply

Marsh Posté le 22-07-2003 à 15:20:03    

ça ne marche pas...
 
voilà ce que je veux faire :  

Code :
  1. // ouverture de la popup image catalogue
  2. function maxi_size(w,h,pic,ref){
  3. // 1. D'abord, fermer l'ancienne popup si elle existe.
  4. maxisize.close();
  5. // 2. Ensuite, ouvrir la popup avec les paramètres passés
  6. window.open('maxi.php?ref=' + ref + '&pic=' + pic, 'maxisize', 'width=' + w + ',height=' + h + ',directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no');
  7. }


 
NOTA : j'ai essayé de mettre ma fermeture de popup après mon ouverture, pour déclarer mon nom de fenêtre mais j'ai la même réponse : 'maxisize' est indéfini.
 
mon but est décris dans les commentaires... je ne sais pas no plus comment vérifier que la popup est ouverte. J'avait pensé à un

Code :
  1. if (!maxisize){...}

mais ça me parait bizarre...

Reply

Marsh Posté le 22-07-2003 à 15:42:09    

c'est bon, j'ai fais ça :  
 

Code :
  1. // ouverture de la popup image catalogue
  2. function maxi_size(w,h,pic,ref){
  3. var w=window.open('maxi.php?ref=' + ref + '&pic=' + pic, 'maxisize', 'width=' + w + ',height=' + h + ',directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no');
  4. w.document.close;
  5. w.focus();
  6. }


 
et ça marche !!

Reply

Marsh Posté le 22-07-2003 à 17:01:27    

déjà, c'est .close()
et pas de focus dessus ensuite, là tu génère une erreur javascript...

Reply

Marsh Posté le 22-07-2003 à 18:04:25    

le problème qui se passe c'est que, comme vous pouvez le voir, je passe mes valeur height et width dans des variables.
 
sauf que, quand j'envoi mes données, la popup garde les valeurs de la première ouverture.
 
en fait, les valeur width et height sont égale à la taille de l'image qui doit apparaître dedans +50px en width et +100 en height.
 
or, quand j'ouvre ma première popup qui fait 500+50 sur 400+100, elle me fait bien une popup de 550×600, mais, sans que je la referme, si j'ouvre une autre image, avec la même fonction, mais de valeurs différente (par exemple 600+50 et 700+100) alors là ma popup fait toujours 550×600 et non 650×800.
 
vous comprenez ce que je veux dire et voyez mon problème ??
 
merci de toute intervention.

Reply

Marsh Posté le 22-07-2003 à 23:00:09    

xkamui a écrit :

le problème qui se passe c'est que, comme vous pouvez le voir, je passe mes valeur height et width dans des variables.
 
sauf que, quand j'envoi mes données, la popup garde les valeurs de la première ouverture.
 
en fait, les valeur width et height sont égale à la taille de l'image qui doit apparaître dedans +50px en width et +100 en height.
 
or, quand j'ouvre ma première popup qui fait 500+50 sur 400+100, elle me fait bien une popup de 550×600, mais, sans que je la referme, si j'ouvre une autre image, avec la même fonction, mais de valeurs différente (par exemple 600+50 et 700+100) alors là ma popup fait toujours 550×600 et non 650×800.
 
vous comprenez ce que je veux dire et voyez mon problème ??
 
merci de toute intervention.


bah déjà, arrête d'utiliser w à la fois en tant que nombre puis en tant qu'objet window.
 
sinon, d'après ton script, on peut pas voir pas où est le problème.
 
mais à tout les coups, tu incrémentes des variables globales en croyant qu'elles sont locales.
 
sâche qu'une variable non déclarée avec la syntaxe "var toto;" sera systématiquement globale

Reply

Marsh Posté le 23-07-2003 à 08:21:32    

oki pour la variable w.
 
par contre pour les autres, je ne comprend pas trop, puisque je passe mes variables par un lien, comme suit :  
 
script js :

Code :
  1. function maxi_size(w,h,pic,ref){
  2. var z=window.open('maxi.php?ref=' + ref + '&pic=' + pic, 'maxisize', 'width=' + w + ',height=' + h + ',directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no');
  3. z.document.close;
  4. z.focus();
  5. }


 
 
dans l'html :

Code :
  1. <tr>
  2.  <td class="td-cat-pic0"><a href="/url/shopping/shopping.php" onclick="maxi_size(370,283,'divx.jpg',1058940602); return false;"><img src="../../img/shopping/catalogue/1058940602/th_divx.jpg" alt="Agrandir" border="0" /></a></td>
  3.  <td class="td-cat-txt0">321<br /></td>
  4.  <td class="td-cat-prix0"></td>
  5. </tr>
  6. <tr>
  7.  <td class="td-cat-pic1"><a href="/url/shopping/shopping.php" onclick="maxi_size(690,516,'ekklo2.jpg',1058940602); return false;"><img src="../../img/shopping/catalogue/1058940602/th_ekklo2.jpg" alt="Agrandir" border="0" /></a></td>
  8.  <td class="td-cat-txt1">654<br /></td>
  9.  <td class="td-cat-prix1"></td>
  10. </tr>

Reply

Marsh Posté le 23-07-2003 à 08:25:53    

j'ai eu le même pblm et j'ai contourné en resizant à chaque fois comme ça :
 
<body onload="window.focus();window.resizeTo(document.images[0].width,document.images[0].height);">
 


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 23-07-2003 à 08:33:02    

merci beaucoup !!! j'ai bien sur adapté en mettant :

Code :
  1. <body onload="window.focus(); window.resizeTo((document.images[0].width+50),(document.images[0].height+100));">


 
et ça m'a même permis de transformé ma fonction js comme suit :

Code :
  1. function maxi_size(w,h,pic,ref){
  2. window.open('maxi.php?ref=' + ref + '&amp;pic=' + pic, 'maxisize', 'width=' + w + ',height=' + h + ',directories=no,menubar=no,status=no,location=no,scrollbars=no,resizable=no');
  3. }

Reply

Marsh Posté le 23-07-2003 à 08:33:02   

Reply

Marsh Posté le 23-07-2003 à 08:34:47    

c'est ma journée de dépannage xkamui  :D  
 
 
si tu peux lancer 3-4 posts j'ai pas encore envie de bosser là [:galatee]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 23-07-2003 à 08:38:13    

lol, j'vais te faire un gros up de tout mes posts qui restent en suspens... [:poischich] :p


Message édité par xkamui le 23-07-2003 à 08:39:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed