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

WebDev Discussion :

[WB14]Traitement fermeture de page


Sujet :

WebDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 372
    Par défaut [WB14]Traitement fermeture de page
    Bonjour,
    j'ai un soucis avec le traitement de fermeture de pages dynamique.

    J'ai du code dans le traitement correspondant, sauf que celui ci n'est pas exécuté à la fermeture de ma page mais à la prochaine ouverture de cette même page.

    Par exemple, la page Page1 contient dans le traitement de "Fermeture de Page1" le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    POUR TOUT Client
        HSupprime(Client)
    FIN
    normalement, si je ferme la page Page1 avec la croix rouge en haut à droite ou la fonction navigateurFerme(), ce code devrait être exécuté.

    Sauf que si je ferme ma page, mes "Client" sont toujours là et ils ne seront supprimés que lorsque je réouvrirai Page1.

    Avez vous déjà rencontré ce problème et comment l'avez-vous résolu?

    J'ai envoyé un message au support technique de pcsoft mais ils mettent du temps à répondre.

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 372
    Par défaut
    Comme j'ai réussi ce que je voulait faire et que personne ne semble avoir de solution, je poste ma solution; ça me semble un peu casse-gueule mais ça fonctionne:

    1) créer une table dans la base de données (moi j'utilise l'hyper file), qui permettra de "contrôler" l'activité sur la session

    2) sur toutes les pages du site, créer un timer qui créera ou modifiera un enregistrement dans la table ci dessus. Cet enregistrement sera charger avec la date et heure système au moment de l'appel du timer (2011053117365512 pour un appel du timer le 31/05/2011 à 17h36); ce timer est appelé toutes les 2 ou 3 secondes.

    3) dans l'initialisation de ma première page, je lance un thread. Dans ce thread, je crée un boucle infinie qui va comparer la date et heure système courante et la date et heure système inscrite dans l'enregistrement. Si la différence est supérieure à une durée que vous définierez, (au moins 2 à 3 fois le temps d'appel du timer), alors on exécute le code que l'on voulait exécuter à la fermeture de fenêtre. Penser à mettre un "multitache(300)" pour bloqué le thread pendant 3s et ne pas bouffer toute la cpu.

    Le principe:
    tant qu'une page du site est ouverte, l'enregistrement sera modifié et la différence entre la valeur de l'enregistrement et la date/heure système sera toujours inférieure au temps d'appel du timer. Dès que la dernière page du site est fermée, l'enregistrement n'est plus mis à jour et le thread va détecter que la différence entre la valeur de l'enregistrement et la date/heure système est trop grande et donc considérer que l'utilisateur n'est plus sur le site.

    Le principal soucis que j'ai rencontré, c'est avec ie et l'affichage d'une boite de dialogue ou de l'explorateur, dans ce cas, le timer de la page n'est pas appelé et donc l'enregistrement n'est plus mis à jour.

    Vous pouvez vérifier que vos timer ne sont pas bloqués grâce au gestionnaire de sites de webdev en regardant la durée d'inactivité de la session, normalement, le temps d'inactivité maximum est le temps d'appel d'un timer.

    Je mets en résolu, si quelqu'un à une solution plus simple qu'il n'hésite pas.

    Salut

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

Discussions similaires

  1. fermeture de page et passage de paramètres simultanés
    Par orionis dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/12/2006, 15h49
  2. [Tableaux] Délai de traitement d'une page pas assez long
    Par Alexlesilex dans le forum Langage
    Réponses: 14
    Dernier message: 15/05/2006, 17h40
  3. [Tableaux] Temps de traitement ... affichage de page
    Par mathieu77186 dans le forum Langage
    Réponses: 37
    Dernier message: 25/10/2005, 17h45
  4. [fermeture] JSP fermeture auto page..
    Par nix dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/01/2005, 11h40

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