DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Page / Gestion du Back
  • Présentation
  • Deux méthodes de gestion du bouton "Précédent" du navigateur
  • Exemple de désynchronisation
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
Présentation
Le bouton "Précédent" du navigateur permet à l'internaute d'afficher les pages précédentes déjà consultées.
Dans un site WEBDEV en mode Session, chaque page HTML affichée sur le navigateur est associée à un contexte de page, présent sur le serveur. Chaque action effectuée dans une page affichée par le navigateur doit entraîner une action identique sur le contexte de page correspondant présent sur le serveur.
Or l'utilisation du bouton "Précédent" du navigateur permet de réaliser une action uniquement sur le navigateur : la page affichée sur le navigateur et son contexte présent sur le serveur peuvent donc être désynchronisés en cas d'utilisation du bouton "Précédent" du navigateur.
Pour plus de détails, consultez le paragraphe "Exemple de désynchronisation".
Cas particulier : Sites de type Single Page App : Une application Single Page App correspond à une seule une page ! Donc le bouton Précédent renvoie par défaut à la page affichée avant le lancement de l'application ! Pour gérer correctement le bouton "Précédent" dans ce cas, consultez Single Page App.
Deux méthodes de gestion du bouton "Précédent" du navigateur
Pour éviter tout problème lié à la désynchronisation entre les pages affichées sur le navigateur et les contextes correspondants présents sur le serveur, WEBDEV met à votre disposition deux modes de gestion du bouton "Précédent" du navigateur :
  • Solution 1 : Empêcher le retour sur cette page depuis le bouton "Précédent" du navigateur.
    Si le bouton "Précédent" du navigateur est utilisé pour afficher la page, cette action n'aura aucun effet.
    Pour plus de détails, consultez : Empêcher l'utilisation du bouton précédent du navigateur.
  • Solution 2 : Gestion de la synchronisation (solution par défaut)
    Pour chaque action effectuée dans une page depuis le navigateur, un test de synchronisation entre la page HTML et son contexte est automatiquement réalisé.
    Deux modes de gestion de la synchronisation sont possibles :
    • synchronisation par défaut (mode utilisé par défaut lors de la création d'une nouvelle page).
    • synchronisation programmée.
Pour plus de détails, consultez : Gestion de la synchronisation.
Exemple de désynchronisation
Voici un exemple de site :
  • Une page du navigateur contient un champ Table fichier relié au fichier ITEM et un lien "Suivant".
  • Le fichier ITEM ne contient qu'une rubrique, chaque enregistrement est constitué d'une lettre de l'alphabet.
  • La page permet d'afficher 6 lignes du champ Table, le lien "Suivant" permet d'afficher les 6 suivantes.
A l'ouverture de la page, le champ Table affiche les 6 premiers enregistrements du fichier (de 'A' à 'F'). Voici un enchaînement d'actions faites par l'utilisateur :
  1. Clic sur le lien "Suivant"
    Résultat : le serveur se positionne sur les 6 enregistrements suivants de ITEM et renvoie au navigateur leurs contenus. Le navigateur affiche la page suivante du champ Table avec les 6 nouveaux contenus ('G' à 'L').
  2. Clic sur le bouton "Précédent" du navigateur
    Résultat : le navigateur affiche la page précédant la première action. Le champ Table affiché contient les lettres 'A' à 'F'. Le serveur n'a pas été sollicité, il est donc toujours positionné sur les enregistrements 'G' à 'L'.
  3. Clic sur le lien "Suivant"
    Résultat : le serveur se positionne sur les 6 enregistrements suivants de ITEM (donc de 'M' à 'R'). Le navigateur se synchronise avec le serveur et affiche les mêmes éléments : l'internaute a l'impression que certaines informations ne sont pas affichées.
Ce dysfonctionnement peut avoir des conséquences inattendues lors d'une modification d'un enregistrement de fichier (modification de l'enregistrement qui n'est pas celui visualisé par l'internaute par exemple).
Rappel : chaque action sur le navigateur doit entraîner une action du serveur : le serveur envoie alors une réponse au navigateur. Or le clic sur le bouton "Précédent" du navigateur étant une action navigateur indépendante de votre site WEBDEV, la deuxième condition peut ne pas être réalisée.
Version minimum requise
  • Version 9
Commentaires
Interdiction du bouton "Précédent"
En WebDev 25 : Dans la description de page..Onglet UI .... bouton précédent Interdit
Lorsqu'on change de plan, le bouton précédent du navigateur est à nouveau activé
Peut-on le désactiver pas programmation lorsqu'on est sur autre plan?
Smokie68
03 fév. 2021

Dernière modification : 25/05/2022

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