Acceder à une fenetre ouverte une fois que l'on a changé de page

Acceder à une fenetre ouverte une fois que l'on a changé de page - HTML/CSS - Programmation

Marsh Posté le 19-02-2006 à 14:15:27    

Mon problème est très simple :
j'ouvre une fenetre en javascript avec var = window.open (ou document.open, je ne sais plus).
j'affiche des trucs à l'intérieur...
Pendant ce temps, la page principale change de page, et j'aimerais qu'à l'affichage de la nouvelle page, la fenetre que j'avais affiché disparaisse.
Seulement, je n'ai plus accès à la variable "var" citée plus haut, comme le script n'est plus le même.
 
Comment peut-on retrouver cette fenetre et la fermer ?
(existe-t-il un tableau qui renverrait toutes les fenetres IE ouvertes, et à partir duquel on pourrait retrouver la fenetre en question)
 
Merci !
 :hello:

Reply

Marsh Posté le 19-02-2006 à 14:15:27   

Reply

Marsh Posté le 19-02-2006 à 14:32:23    

Et si tu passe var dans l'url ça marche pas?
Sinon tu boucle dans la fenêtre ouverte et tu contrôle si l'adresse de la fenêtre qui à ouvert à changé, avec opener je crois.

Reply

Marsh Posté le 19-02-2006 à 14:40:35    

Lol, je veux bien te croire, mais je peux pas vérifier c pas mon PC... surtout si qqn d'autre a une soluce qu'il hésite pas, je note et j'essaierais tout (g pas internet sur mon PC :p)

Reply

Marsh Posté le 19-02-2006 à 18:44:30    

Ba tu peux tester chez toi sans internet...

Reply

Marsh Posté le 24-02-2006 à 09:45:39    

Je sais, mais ce que je voulais dire c que je ne pouvais pas vous dire si une méthode marchait ou pas, comme ça je teste tout et je vous dit tout comment ça marche :)
 
Bon, dwogsi, j'ai fait ça :
quand j'ouvre la fenetre, je fais un
 
var = opener.document; (je c plus la syntaxe)
while (var != 'truc')
{
  var = opener.document;
}
document.close();
 
Cette syntaxe fonctionne bien, la fenetre se ferme quand la page s'appelle 'truc'.
Le problème qui se pose, maintenant, c'est où le mettre ?
J'ai essayé entre des balises <script> à tous les endroits de la page (début, fin), et dans un body onLoad...
Seulement, ma page ne se charge pas !!!
Donc, il apparait une page vide qui se ferme quand l'autre se charge...
 
 
Comment faire ?  :hello:

Reply

Marsh Posté le 24-02-2006 à 12:04:36    

dwogsi a écrit :

Et si tu passe var dans l'url ça marche pas?
Sinon tu boucle dans la fenêtre ouverte et tu contrôle si l'adresse de la fenêtre qui à ouvert à changé, avec opener je crois.


 
Beuuark
 
Utilise plutot onUnload
 

Code :
  1. <html>
  2. <head>
  3.     ...
  4.   <scritp type=text/javascript>
  5.     var maFenetre;
  6.     // NB : il vaut mieux ne pas utiliser "var" comme nom de variable
  7.     //        étant donné que var est un mot clé du langage javascript...
  8.     function ouvertureFenetre(url) {
  9.       maFenetre = window.open(url);
  10.     }
  11.     function fermetureFenetre() {
  12.       // on teste si la fenetre existe et si elle n'a pas déja été fermée
  13.       if (maFenetre && !maFenetre.closed) {
  14.         maFenetre.close();
  15.       }
  16.     }
  17.     window.onUnload = fermetureFenetre; // ou <body onUnload="fermetureFenetre();">
  18.   </script>
  19. </head>
  20. ...


 

Citation :

Attention:
La méthode close() entre dans le cadre du concept de sécurité de JavaScript. Cela signifie qu'une fenêtre, à partir du moment où elle possède un historique (parce que l'utilisateur y a déjà appelé plusieurs pages), ne se laisse plus fermer sans demande de confirmation de la part du navigateur. Il n'est pas possible d'empêcher cette demande.

Reply

Sujets relatifs:

Leave a Replay

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