Bonjour,

J'aimerais "forcer" ma page a exécuter une ligne de code (moyennant le résultat d'un confirm()) juste avant le unload() (fermeture de page, clic sur un lien, ...), sans empêcher le unload() bien sur.

La page demande à l'utilisateur s'il veut faire quelque chose, s'il clique "oui" un code s'exécute, puis le unload s'effectue. S'il clique "non" le unload se fait directement.

Mon problème est que Firefox redemande une confirmation de fermeture de page, alors que je renvoie déjà "true" dans tous les cas sur le onbeforeunload() :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
window.onbeforeunload = function prevenirUnload() {
	if (fille!=null && !fille.closed) {
		if (confirm("Sûr ?")) {
			fille.location.href="Deconnexion"; // Le traitement à intercaler entre la confirmation et la fermeture
			return true;
		}
		else {
			return true;
		}
	}
}
J'ai donc deux messages : mon confirm() et celui prédéfini de Firefox. Je pensais qu'en renvoyant "true" dans tous les cas, Firefox n'aurais pas à demander confirmation.


Je suis ouvert à toute méthode pour exécuter une ligne de code juste avant le changement de page avec un seul message d'alerte au total.

merci !