Bonjour,
J'ai à faire une fonctionnalité relativement simple, sur le papier, mais que je n'ai toujours pas réussi à résoudre après pas mal de recherches sur le net.
Lorsque je quitte une page, je souhaiterais avoir une alerte qui me demande si je souhaite réellement quitter la page en cours. Cette demande est simple à mettre en oeuvre, puisqu'il suffit de faire :
Cependant, au lieu d'avoir la boite de dialogue (difficilement personnalisable) gérée pour le BeforeUnload, j'ai besoin de mettre en oeuvre la boite de confirmation confirm(). Du coup, un code de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 window.onbeforeunload = function confirmExit(event) { return "Etes-vous sûr ?"; }
Le comportement de code est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 window.onbeforeunload = function confirmExit(event) { if (confirm("Etes-vous sûr ?")) { window.location.href = event.target; } else { return false; } }
La boite de dialogue confirm() s'ouvre ;
a. je réponds "OK", je suis bien redirigé vers la nouvelle page ;
b. je réponds "Annuler", une deuxième boite de dialogue s'ouvre (celle du BeforeUnload).
J'ai bien essayé d'ajouter des event//window.event.returnValue = false, des stopPropagation, preventDefault, ou tout un tas de trucs de ce genre, rien n'y fait.
Merci de votre aide !
Partager