Cette question est similaire à Suivre le moment où l'utilisateur appuie sur le bouton "retour" du navigateur mais pas la même... J'ai une solution et je l'affiche ici pour référence et rétroaction. Si quelqu'un a une meilleure solution, je suis tout ouïe !
La situation est la suivante : j'ai une page avec une "édition en place", à la manière de Flickr. C'est-à-dire qu'il y a un DIV "cliquez ici pour ajouter une description", qui, lorsqu'il est cliqué, se transforme en un TEXTAREA avec des boutons Enregistrer et Annuler. Le fait de cliquer sur Enregistrer envoie les données au serveur pour mettre à jour la base de données et place la nouvelle description dans le DIV à la place du TEXTAREA. Si la page est rafraîchie, la nouvelle description est affichée à partir de la base de données avec une option "cliquer pour modifier". Il s'agit d'une fonctionnalité Web 2.0 assez standard de nos jours.
Le problème est que si :
- la page est chargée sans la description
- une description est ajoutée par l'utilisateur
- On quitte la page en cliquant sur un lien.
- l'utilisateur clique sur le bouton retour
Ce qui est alors affiché (à partir du cache du navigateur) est la version de la page sans le DIV modifié dynamiquement contenant la nouvelle description.
C'est un problème assez important car l'utilisateur suppose que sa mise à jour a été perdue et ne comprendra pas nécessairement qu'il doit actualiser la page pour voir les changements.
La question est donc la suivante : comment signaler qu'une page a été modifiée après son chargement, puis détecter le moment où l'utilisateur "y retourne" et forcer un rafraîchissement dans cette situation ?
0 votes
En quoi cela diffère-t-il de la question que vous avez citée ?
0 votes
La question est similaire, mais je pense que l'environnement et donc la réponse sont différents, je peux me tromper. mon interprétation de ce que pourrait être un problème qui serait résolu avec l'autre solution est la suivante : l'utilisateur clique sur un onglet sur une page qui est chargée par ajax, puis sur un autre onglet et ainsi de suite. cliquer sur le bouton retour vous ramènerait à une page différente, pas à l'onglet précédent. ils veulent revenir en arrière à travers "l'historique ajax" dans "l'historique de la page". au moins c'est mon impression de ce que le gestionnaire d'historique du navigateur Yahoo est censé faire.
0 votes
La réponse acceptée comporte votre astuce iframe.