IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment détecter la fermeture d'une page web par la croix rouge


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 25
    Points
    25
    Par défaut Comment détecter la fermeture d'une page web par la croix rouge
    Bonjour,

    Avez-vous une idée de code pour détecter quand l'utilisateur va cliquer sur la croix rouge du navigateur. J'aimerais lancer une action avant que la page se ferme ?

    Pour info: mon site est développé en aspnet 2.0 + c#

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Apparement, c'est pas trop possible

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 25
    Points
    25
    Par défaut
    Mon problème c'est que je voudrais effacer une variable de session lorsque l'utilisateur va fermer l'application.

  4. #4
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Points : 247
    Points
    247
    Par défaut
    De tte facon, quand il ferme le navigateur, il perd la session,

    Sinon, tu peux génerer un bouton de fermeture dans l'application qui te fait un session.abandon() et te ferme la fenetre.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 25
    Points
    25
    Par défaut
    En fait ce n'etait pas vraiment les variable session squi me posait probleme, c'est surtout la variable APPLICATION. Je l'utilise pour détecter quand une page est déjà en cours d'utilisation par un autre utilisateur. Donc quand l'utilisateur quitte la page en question ou dse deconnecte de l'application, je met à jour la variable APPLICATION pour "debloquer la lecture seule" de la page. Mais effectivement j'ai vu que ca ne marchait pas quand l'utilisateur quittait la page par croix rouge.
    Du coup, j'ai un peu creusé le problème ce matin et j'ai trouvé unbe solution qui m'a l'air de fonctionner. Voila ce que j'ai fait :
    1) J'ai fait une fonction javascript window_onbeforeunload qui execute uniquement : window.navigate('disconnect.aspx')
    2) dans le body de ma page GestProjet.aspx en cours de modification (lecture seul pour tous les autres) : j'ajoute onbeforeunload="return window_onbeforeunload()".
    3) Je crée une nouvelle page asp Disconnect.aspx(je la laisse vierge) et dans le Page_Load j'ajoute des instructions permettant de mettre à jour ma varible APPLICATION specifiant que la page GestProhet.aspx n'est plus en cours de modification
    Du coup, ca marche pas trop mal

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Et si le type a une coupure de courant?
    Ca fuckbox qui tombe en panne?
    Ca femme a nerveusement débranché le fil car il ne soccupe pas d'elle?
    Ca maitresse a nerveusement coupé le fil pour qu'il s'occupe d'elle?
    Il a décidé d'emm... tous ses collegue, et a lancé un refresh automatique de sa page toutes les 30 secondes, pc allumé jour et nuit, la page est bloquée a vie?^^

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Attention!! OnBeforeUnLoad est également appelé quand tu changes de page.
    Mais apparemment, c'est pas génant dans ton coté

  8. #8
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Points : 247
    Points
    247
    Par défaut
    C'est un problème embettant sur quoi tu mets le doigts.....et si côté base de données, tu gérais des triggers/locks....etc ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 25
    Points
    25
    Par défaut
    Effectivement le onbeforeunload est appelé quand on change de page mais ca me convient parfaitement aussi.
    Et puis si par hasard il ya des coupures intepestives (coupure de courant, etc comme signalé plu shaut), tant pis c le timeout du serveur qui agira.
    Car au bout de trois minutes si l'utilisateur ne fait aucune action sur la page, il est deconnecté automatiquement...

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Citation Envoyé par florent-k
    Car au bout de trois minutes si l'utilisateur ne fait aucune action sur la page, il est deconnecté automatiquement...
    3 mintutes? Faut pas aller prendre de café alors...

    J'ai oublié:

    "Et si l'utilisateur a désactivé javascript?"


    Pour 3 minutes l'intéret de la méthode reste limitée...
    C'est une appli pour quel secteur?

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 25
    Points
    25
    Par défaut
    Arretez de chercher la petite bete, c une application intranet, les utilisateurs ne sont pas sensés desactivés le javascript, c'est le javascript qui permet de gerer plusieurs fonctionnalités de l'applciation.
    Effectivement pour trois minutes ma méthode peut sembler inutile mais si 10 utilisateurs sont connectés en meme temps, je suis obligé de prevoir meme pr trois minutes

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    En fait, cela me parait étrange de bloquer une page, meme pour un intranet...

    Pour moi ce n'est pas la technique d'affichage ou de modification de l'information qui doit etre bloqué, mais l'information elle meme...

    Est ce que tu as prévu un systeme de lock pour tes variables? Car si 2 utilisateur y accède en meme temps, le temps de la mettre en lecture seule, un autre peut y entrer...

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 25
    Points
    25
    Par défaut
    En fait ce n'est pas vraiment la page qui est bloqué mais la saisie dans la page.
    En fait j'ai d'abord une page de recherche je fais une recherche de certaines informations, la recherche est restitué sous la forme d'un datagrid. En cliquant sur le lien Modifier j'accede a ma page GestProjet.aspx. Donc le projet qui est encours de modification ne doit pas l'etre simultanément par deux utilisateurs. Du coup, ce n'est pas la page qui est bloqué mais la saisie dans les champs ainsi que l'enregistrement.

  14. #14
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Le framework te permet de gérer ce genre de probleme.

    Les GridView par exemple le font presque nativement, t'as juste à configurer 2-3 choses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment detecter la fermeture d'une page web
    Par Philcmoi dans le forum JSF
    Réponses: 2
    Dernier message: 15/08/2007, 18h21
  2. Comment enregistrer les images d'une page web ?
    Par Chris33 dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 11/07/2006, 22h09
  3. Message d'erreur à la fermeture d'une page web
    Par WELCOMSMAIL dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 26/04/2006, 17h12
  4. [VB.NET][1.1] Comment détecter le TimeOut d'une page web ?
    Par crimsonPhantom dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/01/2006, 20h01
  5. Réponses: 2
    Dernier message: 19/12/2005, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo