Page 1 sur 1

window.close defaillant

Publié : 18 mars 2006, 01:45
par yarocco
Bonjour,
j'ai actuellement un popup sur lequel j'effectue une serie d'operations.
A la fin de ces operations, j'aimerais bien fermer automatiquement ce popup. Pour cela, j'utilise "window.close()" en javascript. Mais la fenetre subsiste toujours à l'ecran et la fermeture n'est effective que lors d'un clic sur cette fenetre qui est encore affichee a l'ecran.
De plus, si par malheur je clique ailleurs que sur le popup apres le "window.close()" puis clique sur la fenetre "fermee", firefox plante completement.

Est ce un probleme de Firefox ou un probleme lie a mon code ?
Je veux dire, est ce que vous avez deja eu ce genre de probleme, est ce qu'il faut que je creer un rapport de bug ?

Merci d'avance

Publié : 18 mars 2006, 09:46
par SB
Essaie la variante : self.close()

Publié : 18 mars 2006, 09:55
par calimo
Est-ce qu'il y a une ou des erreurs dans la console javascript ? Est-ce qu'on peut voir le popup en démonstration ?

Publié : 18 mars 2006, 15:50
par yarocco
Essaie la variante : self.close()
Je viens d'essayer mais sans succes : toujours le meme probleme.
Est-ce qu'il y a une ou des erreurs dans la console javascript ? Est-ce qu'on peut voir le popup en démonstration ?
Il n'y pas d'erreur dans la console Javascript.
Je ne peux pas montrer le popup en action cette partie est en acces prive (zone d'administration).
Par contre, je peux te montrer le script qui est tres simpliste :

Code : Tout sélectionner

		function DelEvent()
		{
			DateToDel = document.Frm_Del.DateToDel.value;
			Commune = document.Frm_Del.Commune.value;
			Event = document.Frm_Del.Event.value;
			
			var xml_object = null;
			
			xml_object = new XMLHttpRequest();
			var url = 'Action=Del&Ville='+Commune+'&DateToDel='+DateToDel+'&Event='+Event;
			xml_object.onreadystatechange = function() 
				{ 
					if (xml_object.readyState == 4) 
					{
						// 'false' est renvoye si erreur dans Change.php
						if (xml_object.responseText != 'false')
						{
							//Retour = Event:VILLE:Mois:NouvelleValeur
							var tableau = xml_object.responseText.split(':');
							MyId = tableau[0] + ':' + tableau[1] + ':' + tableau[2];
							MyId = MyId.substr(1, MyId.length);  //1ere caractere en trop venant du traitement php
							NewValeur = tableau[3];
							window.opener.document.getElementById(MyId).innerHTML = NewValeur;
							window.close();  <----- Ca plante apres ce close();
						} else alert('Erreur lors de la requete.k !');
					}
				}
			xml_object.open('GET', 'Change.php?'+url, true);
			xml_object.send(null);
		}