window.close defaillant

Des problèmes qui n'en sont plus
Répondre
yarocco

window.close defaillant

Message par yarocco » 18 mars 2006, 01:45

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
Enregistré le : 05 mars 2004, 18:38
Localisation : Ailleurs.

Message par SB » 18 mars 2006, 09:46

Essaie la variante : self.close()

calimo
Animal mythique
Messages : 14118
Enregistré le : 26 déc. 2003, 11:51
Localisation : Le frigo scandinave
Contact :

Message par calimo » 18 mars 2006, 09:55

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 » 18 mars 2006, 15:50

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 enregistré et 1 invité