11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

j'ai un problème de compréhension et d'application du onUnload et onBeforeUnload.
Je m'explique : j'ai une page html. Lorsque que je suis dessus et que je cliques sur le bouton "Précédent" du navigateur (FF12), je voudrais qu'une boite de dialogue jQuery UI s'ouvre et me propose de quitter la page en cours ou de rester dessus.

Pour la dialog jQuery UI, j'arrive à la faire s'afficher au onUnload, le problème est que le onUnload s'effectue quand même. Je voudrais mettre en pause l'évènement au chargement de ma dialog. Le faire continuer si je cliques sur Quitter et l'arrêter si je cliques sur Rester.
Je me suis donc tourner vers le onBeforeUnload pour agir avant le changement de page vu qu'au onUnload cela s'effectue quand même.
Mais cela ne change rien !
Du coup je ne vois pas la différence entre onUnload et onBeforeUnload...

Voici ma fonction alertRetour qui doit m'afficher une dialog à la sortie de ma page. Cette fonction est appelée au onUnload (ou onBeforeUnload) dans le body de ma page courante.

function alertRetour(){
	$("#dialog-confirm").dialog({
		resizable: false,
		height:140,
		modal: true,
		buttons: {
			"Quitter": function() {
ICI JE VEUX CONTINUER L'EVENT ONUNLOAD
				$(this).dialog("close");
			},
			"Rester": function() {
ICI JE VEUX STOPPER L'EVENT ONUNLOAD
				$(this).dialog("close");
			}
		}
	});
}


Quelqu'un peut-il m'expliquer ? et m'aider à réaliser ce que je souhaite mettre en oeuvre ?

Merci d'avance !