Forcer le rechargement / rafraîchissement en appuyant sur le bouton de retour
Je vais essayer de mon mieux pour expliquer cela.
J'ai une application qui montrent les+ de 50 projets dans ma view
page. L'utilisateur peut cliquer sur chaque projet et aller à la update
page pour mettre à jour les informations sur le projet. Tout fonctionne bien sauf qu'après que l'utilisateur terminer la mise à jour du projet individuel de l'information et de frapper le bouton "retour" du navigateur pour la précédente view page
. Le vieux projet de l'information (avant mise à jour) est toujours là. L'utilisateur doit cliquer sur "actualiser" pour voir les informations mises à jour. Il n'est pas si mal, mais je tiens à fournir une meilleure expérience utilisateur. Une idée pour résoudre ce problème? Merci beaucoup.
source d'informationauteur FlyingCat
Vous devez vous connecter pour publier un commentaire.
Je pense que vous devez travailler avec JS pour faire ce travail, car il n'existe aucun moyen pour le faire en PHP pour savoir quel navigateur controlls l'utilisateur a accès à...
Peut-être que cela aidera à:
http://www.hunlock.com/blogs/Mastering_The_Back_Button_With_Javascript
Le "fb-cache" peut être vraiment ennuyeux. Voici un simple javascript moyen de contourner cela:
Testé dans Safari 6 et IE10.
- Je utiliser ces quatre lignes de code PHP:
La clé est d'utiliser le "no-store" clause de l'entête Cache-Control.
Heureusement, nous n'avons pas à prendre en charge les navigateurs ci-dessous IE10, donc si vous êtes prêt ou qui ont la chance de ne soutenir que les navigateurs HTML5, la suivante devrait fonctionner:
Bien, voici le code sans commentaires et flab:
Bâton que juste avant votre balise body de clôture, et vous aurez une assez propre solution.
Cela fonctionne avec n'importe quelle combinaison de arrière/avant d'être cliqué, et le moment où l'utilisateur tombe sur une nouvelle page, pas forcé de rechargement va se produire.
Lire plus sur l'Histoire de l'objet sur MDN:
MDN - L'Histoire de l'Objet
MDN - Manupulating l'Historique du Navigateur
Bien, vous pouvez soit fournir une solution intégrée bouton de retour sur la page de mise à jour qui va les envoyer à nouveau (comme un lien
<a href="<?= $_SERVER['HTTP_REFERRER']; ?>">BACK</a>
ou mettre le script sur la page, qui va le forcer à extraire des données à chaque fois que la page est touché, si c'est une nouvelle impression, ou si le bouton de retour a été utilisé.voici une solution que jai utilisé dans certaines de mes pages. ajoutez à cela des pages que des modifications sont apportées au.
cela déclenche lorsque vous quittez ces pages. vous pouvez également déclencher si certains changements ont été apportés. de sorte qu'il n'y inutilement recharger la page de rechargement.
ensuite, sur les pages que vous souhaitez obtenir rechargé sur le après un "précédent" du navigateur utiliser.
cela va déclencher un rechargement de la page vous avez besoin de rechargement...
espérons que cela aide 🙂
oh btw c'est en js.
Ajouter ces deux fonctions dans toutes les pages
C'est la solution que j'ai utilisé:
Aucune des deux solutions n'a fonctionné pour moi.
Cette solution simple posté ici travaillé ...
<body onunload="">
faire une case caché et l'utilisation de code ci-dessous(coffeescript)
après des jours de recherche sur le net pour trouver une solution, j'ai fini par le comprendre, à ajouter après:
cela fonctionne comme un charme
vous allez me remercier
ce code permet de recharger la page à chaque fois que vous le visitez.
J'utilise jquery et php script pour forcer le chargement sur le bouton retour. De la fenêtre.décharger une partie est uniquement nécessaire dans firefox. Le outcommented délai d'attente de 1 seconde et le corps append partie est uniquement à des fins d'illustration de la fonctionnalité. de la fenêtre.emplacement.reload(true) donne le même résultat que la fenêtre.emplacement.href = fenêtre.emplacement.href;
jquery:
h.php:
Vous pouvez envoyer les en-têtes HTTP de votre page d'affichage qui dire au navigateur que la page ne peut pas être mis en cache. Cela signifie que le navigateur sera nécessaire de demander à la page depuis le serveur à chaque fois qu'il est accessible à sens toujours afficher des informations à jour.
Les en-têtes doivent être envoyées avant tout autre contenu, afin de mettre le droit en haut de votre page d'affichage.