11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

J'ai cherché sur le net mais je ne parviens pas à trouver une réponse précise à ce problème. Est-il possible de détecter la fermeture du navigateur par un quelconque procédé javascript ? Si oui, comment, et pour quels navigateurs cela fonctionne-t-il ?

Merci d'avance,
Modérateur
Bonjour,

Uniquement en Javascript, je suis convaincu qu'il n'y a aucun moyen, et c'est ainsi depuis très longtemps.

C'est dans quel but exactement?
Il est, je crois (je n'utilise pas ça tous les jours à vrai dire) possible d'exécuter un script à la fermeture de la page (que ce soit parce que l'onglet seulement est fermé, ou le navigateur), via l'événement unload, ou quelque chose comme ça.
@Tony Monast
C'est pour une application en J2EE. Je voudrais savoir si l'utilisateur termine correctement une transaction et pouvoir différencier :
* la fin de la transaction pour cause de fermeture du navigateur
* de la fin de la transaction pour cause de temps maximum autorisé atteint

Si c'est impossible uniquement en JS, ya-t-il moyen de le faire autrement ?

@phpdoesnotcare
Oui c'est possible via l'élément unload. Le problème est que ce script sera exécuté même lors du rafraichissement de la page, ce que je ne veux pas...
Modérateur
Bonjour,

Le seul moyen que je vois s'appliquerait à un environnement contrôlé, comme un Intranet. Il serait sans doute possible de créer une extension Firefox ou un ActiveX pour IE qui détecterait la fermeture du navigateur.

Sinon, un moyen contourné serait une fonction Javascript qui ferait un ping sur une page à toutes les X secondes. Si tu commences à recevoir le ping et qu'à un moment, ça s'arrête, c'est que la page ou le navigateur est fermé.