Bonjour
je voudrais qu'est ce l'equivalent du OnBeforeUnload dans une page .ascx ?
je veux lancer un traitement quand l'utilisateur ferme le navigateur
Bonjour
je voudrais qu'est ce l'equivalent du OnBeforeUnload dans une page .ascx ?
je veux lancer un traitement quand l'utilisateur ferme le navigateur
La fermeture du navigateur est un événement client et ne correspond pas au déchargement d'une page côté serveur.
Pour intercepter un tel événement tu peux par exemple utiliser en javascript l'événement onbeforeunload sur le body de ta page.
d'acc , j'ai essayé de faire cela :erreurs de compilation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 onbeforeunload="return window_onbeforeunload();<% If Not viewstate("Porteur") Is Nothing Then File.Delete(f) ;%>;![]()
Pour ma part, je ferai plutôt appel à une page de fermeture :
Dans le code behind de ta page de fermeture, tu peux alors effectuer tous les nettoyages nécessaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<body onbeforeunload="window.open(closingPageUrl);">
La difficulté qu'il y a également est de faire la différence entre navigation dans le site et sortie du site.
je peux pas appeler une autre page , parce que ce ne serait pas le seul traitement à faire lors de la fermeture du navigateur et puis , disons que je suis un peu "obligée" de le faire au niveau de l'événement onbeforeunload..
aucune suggestions ?
Le OnBeforeUnload est aussi bien lancé à la fermeture du navigateur qu'au changement de page.
Pas sûr que ça corresponde à ce que tu souhaites
qu'est ce que je dois faire alors ?
je veux faire un traitement ( suppression /nettoyage des fichiers propre à l'utilisateur qui vient de fermer le navigateur )
Oui, j'avais déjà souligné ce point. Ce problème peut être contourné de plusieurs façon, notamment en gérant une variable côté javascript ou bien encore en incluant l'application dans une frame invisible (qui ne se décharge donc que quand l'utilisateur quitte le site).
Si tu veux rester sur la page, tu peux éventuellement faire un appel XmlHttpRequest...
d'acc ,c'est fait
merci de m'avoir répondue
Partager