PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Comment exécuter du code en fermeture d'une page webdev
Comment exécuter du code en fermeture d'une page webdev
Débuté par priv!wr00vsr4+o41-r4Mp4rsvn+s4, 18 oct. 2024 09:53 - 4 réponses
Posté le 18 octobre 2024 - 09:53
Bonjour,

Je souhaite exécuter un traitement lorsque je quitte une page.
J'ai essayé de le mettre dans "Déchargement de la page (code navigateur)" ou dans "Fermeture de la page (code serveur)" mais il ne semble pas passer dans ce code.

Comment faire ?
Merci d'avance pour votre aide.

Jennifer
Posté le 09 décembre 2024 - 15:53
Ndrj a écrit :



Bonjour,

Merci pour cet article très intéressant mais malheureusement, il ne répond pas à ma question. Quand je parle de quitter une page, je ne parle pas du projet mais bien d'une page du projet. Je suis donc toujours connectée au projet (je ne quitte pas la session).

Une idée ?

Merci d'avance
Jennifer
Membre enregistré
127 messages
Posté le 11 décembre 2024 - 09:40
bonjour
je sais que ce n'est pas facile et surtout pas infaillible.
Difficulté de le faire si les boutons précédents sont utilisés, difficile de le consigner aussi si le navigateur est fermé, ou la session dormante et expirée.
Je me rappelle avoir voulu faire cela pour tracer le temps passé sur les pages. L'arrivée Ok, la sortie ...

Bon je viens de regarder mes sources. cela n'est plus dans les dernières vs de mes projets puisque cela était monté sur les modèles.
Dsl de ne pas te renseigner plus mais j'avais laissé tomber car ce n'était pas suffisamment fiable.

Par contre je vois que j'ai un système timer qui màj ma table tracelogin pour mettre la dernière heure, dernière page de la session.
Donc chercher peut être du côté des timers. Ne plus chercher "quand on sort", mais plutôt "quand on n'y est plus"
Membre enregistré
458 messages
Posté le 11 décembre 2024 - 12:45
Il est possible de se brancher sur l'événement onbeforeunload mais, de mémoire, il faut passer par la fonctioner JSEvenement() pour brancher une fonction dessus plutôt que l'événement déjà proposé par WebDev, qui n'est pas très fiable.

Selon les navigateurs, il faut soit que la fonction renvoie une valeur non vide pour provoquer un message, soit mettre une valeur dans un attribut du paramètres envoyé à la fonction.

Le traitement doit être court (je ne suis pas sûr qu'on puisse faire de l'AJAX par exemple), et si on veut interrompre l'utilisateur, le message n'est pas spécialement customisable je crois.

Je m'en servais pour demander à l'utilisateur de confirmer la sortie s'il avait modifié un champ de saisie. S'il avait cliqué sur Enregistrer il pouvait quitter sans message apparent.