DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Page / Programmation
  • Evénements gérés par défaut
  • Evénements optionnels
  • Evénements optionnels de gestion du mode déconnecté
  • Evénement optionnel de gestion de l'historique de navigation
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Evénements gérés par défaut
WEBDEV - Code ServeurWEBDEV - Code NavigateurWindowsLinux WEBDEV gère par défaut les événements suivants (ordre d'apparition sous l'éditeur de code) :
EvénementCondition d'exécution
Déclarations globales
(Code serveur)
Déclaration des variables globales à la page. C'est le premier code exécuté lors de l'ouverture de la page.
Initialisation
(Code serveur)
Exécuté lors de l'ouverture de la page.
L'ordre d'exécution des événements est le suivant :
  • Initialisation des champs de la page.
  • Initialisation de la page.
Chargement (onload) de la page
(Code navigateur)
Code navigateur exécuté lors de l'affichage de la page dans le navigateur (réalisé par exemple par les fonctions PageAffiche ou PageActualise).
Déchargement (onunload) de la page
(Code navigateur)
Code navigateur exécuté lors de l'affichage d'une nouvelle page dans le navigateur.
Rafraîchissement des données de la page
(Code serveur)
Evénement disponible uniquement si le rafraîchissement automatique des données a été défini pour la page (voir Rafraîchissement des données de la page). Cet événement est exécuté lors du rafraîchissement de la page. Il permet par exemple de mettre à jour les champs voulus : remplissage d'une liste, ... Cet événement est un événement Ajax.
Si cet événement renvoie Faux, l'événement "Après rafraîchissement des données de la page (Code navigateur)" n'est pas exécuté.
Demande de mise à jour de l'affichage
(Code serveur)
Permet de regrouper le code de mise à jour des champs de la page : contenu des champs, état (visible, grisé, ...), libellé à mettre à jour, ...
Cet événement peut attendre des paramètres. Il suffit de déclarer une procédure dans l'événement. Par exemple :
// Demande de mise à jour de l'affichage 
PROCÉDURE DemandeMiseAjour(TypeMiseAJour est un booléen)
Cet événement est lancé sur demande grâce aux fonctions :
Lors de l'appel de ces fonctions, il est possible de préciser la valeur des paramètres attendus par l'événement.
Après rafraîchissement des données de la page
(Code navigateur)
Evénement disponible uniquement si le rafraîchissement automatique des données a été défini pour la page (voir Rafraîchissement des données de la page).
Cet événement est exécuté après l'événement "Rafraîchissement des données de la page (Code serveur)". Il permet d'effectuer un traitement supplémentaire sur le navigateur. Si l'événement "Rafraîchissement des données de la page (Code serveur)" renvoie Faux, l'événement "Après rafraîchissement des données de la page (Code navigateur)" n'est pas exécuté.
Fermeture de la page
(Code serveur)
Exécuté lors de la fermeture de la page.
Synchronisation de la page
(Code serveur)
Code serveur permettant de gérer la synchronisation de la page lors de l'utilisation du bouton "Précédent" du navigateur. Pour plus de détails, consultez La gestion du bouton"Précédent" du navigateur.

Remarque : Dans une page statique, seuls les codes navigateur sont disponibles.
PHP En PHP, les événements WLangage associés à une page sont les suivants :
EvénementCondition d'exécution
Déclarations globales (Code serveur)Déclaration des variables globales à la page. C'est le premier code exécuté lors de l'ouverture de la page.
Initialisation (Code serveur)Cas 1 : Page avec contexte :
Exécuté qu'une seule fois, au premier affichage de la page pour initialiser le contexte.
L'ordre d'exécution des événements est le suivant :
  • Initialisation des champs de la page.
  • Initialisation de la page.
Cas 2 : Page sans contexte :
Exécuté à chaque affichage de la page. Permet d'exécuter un traitement à chaque fois que le serveur réaffiche la page (par exemple un traitement permettant de vérifier si l'internaute est bien identifié par son login).
L'ordre d'exécution des événements est le suivant :
  • Initialisation des champs de la page.
  • Initialisation de la page.
1er affichage de la page (Code serveur)Uniquement pour les pages PHP sans contexte
Exécuté qu'une seule fois, au premier affichage de la page.
L'ordre d'exécution des événements est le suivant :
  • Initialisation des champs de la page.
  • Initialisation de la page.
A chaque affichage de la page (Code serveur)Uniquement pour les pages PHP avec contexte
Exécuté à chaque affichage de la page. Permet d'exécuter un traitement à chaque fois que le serveur réaffiche la page (par exemple un traitement permettant de vérifier si l'internaute est bien identifié par son login).
Rappel : L'événement "Initialisation" de la page est exécuté qu'une seule fois, au premier affichage de la page pour initialiser le contexte.
Dans le cas d'une page Ajax, cet événement est exécuté pour chaque requête effectuée au serveur.
Chargement (onload) de la page (Code navigateur)Code navigateur exécuté lors de l'affichage de la page dans le navigateur (réalisé par exemple par les fonctions PageAffiche ou PageActualise).
Déchargement (onunload) de la page (Code navigateur)Code navigateur exécuté lors de l'affichage d'une nouvelle page dans le navigateur.

Par exemple, dans une page PHP sans contexte :
  • Lors de l'initialisation, un champ Combo listant les civilités est rempli avec "Madame"+ RC + "Monsieur".
  • Au premier affichage, la civilité par défaut est sélectionnée ("Monsieur").
Par exemple, dans une page PHP avec contexte :
  • Lors de l'initialisation, un champ Combo listant les civilités est rempli avec "Madame"+ RC + "Monsieur" et la civilité par défaut est sélectionnée ("Monsieur").
  • A chaque affichage, un test de cohérence des champs ou de mise à jour des champs est effectué (compteur de visites, ...).
Liste des exemples associés :
WW_Forum_PHP Exemples complets (WEBDEV) : WW_Forum_PHP
[ + ] Cet exemple propose les fonctionnalités principales d'un forum utilisateur (création de forums, de sujets (ou topics) et de messages, modération par un administrateur, recherche, etc...)

WW_FORUM_PHP utilise entre autres les fonctionnalités suivantes :
- Champ riche
- AJAX
- ...
WW_Blogs_php Exemples complets (WEBDEV) : WW_Blogs_php
[ + ] Cet exemple est un site Php de gestion de blogs réalisé avec WEBDEV.
Un blog est un journal ou un recueil d'actualités sur un site Internet.
Il est consultable par tous, et chacun peut y apporter des commentaires.
L'auteur du blog écrit ses messages lorsqu'il le souhaite.
Il est possible de mettre en forme le texte, d'inclure des images, des citations, etc...
De plus, chaque blog peut être exporté en RSS.
Evénements optionnels
Plusieurs événements optionnels peuvent être gérés.
Pour ajouter un événement optionnel :
  1. Sélectionnez le champ voulu.
  2. Affichez la fenêtre de code de ce champ (touche F2).
  3. Cliquez sur le lien "Ajouter d'autres événements à xxx" situé à la fin de la fenêtre de code, après le dernier événement.
  4. La totalité des événements optionnels disponibles pour le champ est affichée.
  5. Cochez l'événement optionnel à ajouter et validez.
    Remarque : Il est possible de sélectionner plusieurs événements optionnels.
  6. L'événement optionnel sélectionné est automatiquement ajouté dans les événements gérés par le champ.
Pour désactiver un événement optionnel, il suffit d'effectuer les mêmes manipulations pour afficher la liste des événements optionnels. Il suffit ensuite de décocher les événements optionnels à supprimer.
Remarque : Si le code désactivé contient du code WLangage, ce code est automatiquement supprimé.
Il est ainsi possible de gérer par exemple :
  • le bouton gauche enfoncé, relâché, avec un double-clic,
  • le bouton droit enfoncé, relâché, avec double-clic, ...
Pour plus de détails, consultez les Evénements optionnels.

Evénements optionnels de gestion du mode déconnecté

Pour optimiser la gestion des sites déconnectés, plusieurs événements optionnels spécifiques sont disponibles :
EvénementCondition d'exécution
Passage en mode déconnecté (Code navigateur)Exécuté lors du passage en mode déconnecté.
Passage en mode connecté (Code navigateur)Exécuté lors du passage en mode connecté.
A chaque changement d'état du cache HTML (Code navigateur)Permet de vérifier ce qu'il se passe au chargement de la page. Cet événement est appelé pour chaque vérification du cache.
Il est possible de récupérer ce que fait le navigateur grâce à la ligne de code suivante :
Trace(JSInfoEvénement("type"))
Il est ainsi possible de savoir :
  • si le navigateur est en cours de mise à jour du cache,
  • si une erreur est survenue
  • si la mise à jour du cache est terminée
  • si aucune mise à jour ne doit être effectuée, ....

Evénement optionnel de gestion de l'historique de navigation

Pour optimiser la gestion des boutons précédent/suivant, un événement optionnel spécifique est disponible : "Déplacement dans l'historique de navigation (onpopstate)".
Cet événement attend en paramètre les données à afficher. Ces données ont été mémorisées dans l'historique grâce aux fonctions NavigateurHistoriqueAjoute et NavigateurHistoriqueModifie.
Si l'internaute retourne en arrière dans l'historique et revient sur une entrée mémorisée dans l'historique, les données mémorisées seront transmises à l'événement "Déplacement dans l'historique de navigation" (événement optionnel de la page). Cet événement doit les traiter pour restaurer l'état de la page. Cet événement doit être associé à une procédure qui attend en paramètre les données transmises :
// Evénement "Déplacement dans l'historique de navigation (onpopstate)"
PROCEDURE <NomProcédure>(<Données>)
Exemple : Cet exemple ajoute la page dans l'historique et mémorise l'heure d'insertion. Le retour sur la page précédente de l'historique affiche l'heure.
x est un Variant
x.Heure = HeureSys()
NavigateurHistoriqueAjoute(x, MaPage.Titre, "#avant") 

x.Heure = HeureSys()
NavigateurHistoriqueAjoute(x, MaPage.Titre, "#apres")
// Evénement "Déplacement dans l'historique de navigation (onpopstate)" 
PROCÉDURE TraitementHistorique(stEtat)
Info(stEtat.Heure)
Remarque : Selon les navigateurs, l'événement "Déplacement dans l'historique de navigation (onpopstate)" est également exécuté au chargement de la page et lors d'un retour à l'affichage initial de la page. Dans ce cas, le paramètre <Données> transmis à l'événement correspond à Null.
Version minimum requise
  • Version 10
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 19/09/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale