Souvent, lors de la navigation sur le Web, nous devons considérer la situation dans laquelle l'utilisateur ferme accidentellement la fenêtre. Surtout lorsque l'utilisateur dispose de données importantes qui n'ont pas été enregistrées, il est nécessaire que notre programme le rappelle à l'utilisateur. À ce stade, nous pouvons utiliser la méthode javascript window.onbeforeunload() pour empêcher l'utilisateur de fermer la fenêtre. Voir l'exemple suivant :
.
<script type="text/javascript"> window.onbeforeunload=function(event){ return 'hello'; } </script>
De cette façon, lorsque l'utilisateur appuie sur le bouton de fermeture, la fenêtre suivante apparaîtra (cela est compatible avec IE et Firefox) :
"Bonjour" est la valeur de retour Lorsque vous appuyez sur Annuler, la page ne sera pas fermée, uniquement lorsque vous appuyez sur OK. La valeur de retour est indispensable, même si elle est vide, sinon la page sera fermée sans aucune invite. En fait, tant que window.close() est appelée, la fonction onbeforeunload() sera exécutée. De là, nous pouvons savoir qu'appuyer sur le bouton de fermeture exécutera la fonction window.close() et window.close(). appelle également la fonction window.onbeforeunload().
Avec cette petite astuce, vous n'avez plus à vous soucier des dégâts causés par la fermeture accidentelle de la fenêtre. J'espère que cet article vous plaira.