Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    View Cyril Durand's profile on LinkedIn

    hit counters

Confirmer la fermeture de la page en javascript avec l'evenement onbeforeunload

Dans certains scénarios, il est bon de demander confirmation à l'utilisateur s'il veut vraiment changer de page et par conséquent perdre toutes les données saisie au niveau d'un formulaire. Cela peut être très pratique lorsque le formulaire nécessite beaucoup de temps. 

Pour cela, il existe un événement DOM beforeunload qui, comme son nom l'indique, intervient juste avant le déchargement de la page.

<script type="text/javascript"> window.onbeforeunload = function(e){ return 'En fermant cette page vous perdrez tout.'; } </script>

La valeur de retour correspond au texte qui est affiché dans le message de confirmation :

IE

Bien sur cet événement n'est absolument pas standardisé, mais aussi étonnant que cela puisse paraitre, Firefox et même Safari (3 beta) reprennent correctement cette fonctionnalité, avec le même texte que IE en plus :

Safari Firefox

Par contre je n'ai pas réussi à reproduire ce comportement avec Opera, il semble que l'événement beforeunload n'existe pas. D'ailleurs, pour opera l'événement unload de l'objet window ne fonctionne que dans certains cas. Voir cette page pour plus de détails : Event compatibility tables

Si vous utilisez cette astuce, il peut être également intéressant de regarder le timeout de la session, par défaut avec ASP.net, si l'utilisateur est inactif pendant plus de 20 minutes, alors sa session est perdue.

Posted: lundi 16 juillet 2007 01:05 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- un Pacman en Silverlight 2b2 par Pierrick's Blog le il y a 4 heures et 36 minutes

- Une table -> deux entity types sans colonne discriminante en base, gestion des relations par Matthieu MEZIL le il y a 12 heures et 34 minutes

- ssdl view et TPT par Matthieu MEZIL le 07-05-2008, 02:04

- L'injection SQL n'est PAS un problème QUE pour les développeurs web ! par CoqBlog le 07-05-2008, 01:08

- Un outil pour réaliser des animations WPF basées sur des équations de Bézier par Perspective le 07-04-2008, 21:45

- Sandcastle et CodePlex : le verdict par CoqBlog le 07-04-2008, 20:53

- ssdl view et TPH par Matthieu MEZIL le 07-04-2008, 19:12

- Webcasts sur le Parallel Framework disponibles par Matthieu MEZIL le 07-04-2008, 17:26

- [Silverlight] - Comprendre et Débuter avec Silverlight par Danuz le 07-04-2008, 12:41

- SharePoint : Nouvel article sur l'exportation et Importation de sites SharePoint par Blog Technique de Romelard Fabrice le 07-04-2008, 01:00