Voila comme l'utiliser :
Attribuez à l'objet window la fameuse methode onbeforeunload. Le retour de cette méthode (au format texte brut) sera inséré dans le message "pré formaté" que vous fournira votre navigateur. Cette méthode génère en effet une fenêtre de type "confirm" qui indique à l'utilisateur qu'il va quitter cette page. L'internaute pourra alors annuler l'action et sauvegarder avant de quitter votre page.
Mais attention ! Le message, comme le nom de la méthode le précise, s'affiche avant le déchargement de la page, Before Unload, et donc dans les cas suivants :
- Lors d'une demande d'actualisation
- Un clic sur un lien hypertext
- La validation d'un formulaire (submit)
Un exemple :
window.onbeforeunload = function (e) {
if (notsave) return "Vous n'avez pas sauvegardé";
}
Le code précedent affichera donc le message uniquement si vous avez des changements non sauvegardés.
Je n'ai pour l'instant rien trouvé qui permette de différencier une demande de fermeture d'une demande de changement de page (sans recherche poussé non plus). Bien sûre, il vous est toujours possible de mettre une variable globale de statut sur tous les liens et autres pour indiquer le type d'action.
(Merci à Gérald pour la relecture)
Aucun commentaire:
Enregistrer un commentaire