window.close defaillant

Des problèmes qui n'en sont plus
yarocco

window.close defaillant

Message 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
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Essaie la variante : self.close()
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message 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 ?
yarocco

Message 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);
		}
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 7 invités