[niveau: intermédiaire]
Il est possible d’effectuer une action sur la page avant que l’utilisateur ne quitte la page (en la fermant, la rechargeant, en navigant dans l’historique, ou en cliquant sur un lien). Pour cela utilisez la méthode ci-dessous (via MDN) :
window.onbeforeunload = function (e) { e = e || window.event; // For IE and Firefox prior to version 4 if (e) e.returnValue = 'Any string'; // For Safari return 'Any string'; };
Si vous ne voulez pas ce comportement pour un clic sur un lien, alors il faudra gérer une variable qui sera activée lors d’un clic sur un tag A (exemple avec jQuery) :
__okForClosing = false; window.onbeforeunload = function (e) { if (!__okForClosing) { e = e || window.event; // For IE and Firefox prior to version 4 if (e) e.returnValue = 'Any string'; // For Safari return 'Any string'; } }; $('a').click(function() { __okForClosing=true; });
Merci.
Et pour rester sur le même onglet, on fait comment ?
Angel> C’est-à-dire ? Je n’ai pas compris votre question…