Fermer une popup pour la ré-ouvrir

VaN
Mammouth du PHP | 1107 Messages

03 mars 2007, 19:13

Bonjour,

Je me sers de popup pour afficher des photos en taille réelles, lorsque l'on clique sur leur miniatures.

Chaque popup s'ouvre selon des dimensions différentes, car les photos n'ont pas les mêmes dimensions.

J'utilise donc ce script :

Code : Tout sélectionner

function popup(url, width, height) { var popup = window.open(url, 'popup', 'resizable=no, location=no, menubar=no, status=no, scrollbars=no, menubar=no, width='+width+', height='+height); popup.focus(); }
Grâce au popup.focus(), ma popup revient au premier plan, lorsque je clique sur une autre miniature, dans ma fenetre principale, génial.
Mais helas, la popup ne se redimensionne pas, pour s'adapter aux dimensions de la nouvelle photo appelée. Mon idée etait alors de fermer la popup en cours, pour la ré-ouvrir, et ainsi rafraichir les parametres de la fonction. Mais je bute :

un window.close('popup.php'); ou un window.close('popup'); ne marche pas (je l'ai placé avant le window.open de ma fonction.)

Comment faire ?

merci.

VaN
Mammouth du PHP | 1107 Messages

04 mars 2007, 01:19

Solution trouvée, après pas mal de bidouillages.
Je poste le script, si quelqu'un d'interéssé passe par là :

Code : Tout sélectionner

<SCRIPT language="javascript"> // on déclare la variable du popup var newWin = null; function open_popup(url, width, height) { // si un popup de photo est dejà ouvert, on va le fermer, pour ré-actualiser les dimensions pour le nouveau if (newWin != null) newWin.close(); // on ouvre le popup newWin = window.open(url, 'newWin', 'resizable=no, location=no, menubar=no, status=no, scrollbars=no, menubar=no, width='+width+', height='+height); // on place le popup en premier plan newWin.focus(); } </SCRIPT>
Seul problème à mes yeux, j'ai l'impression que le script rame pas mal, le popup met 1 seconde à se re-ouvrir.