web-dev-qa-db-fra.com

Comment arrêter chrome de la mise en cache

Je dois forcer le navigateur à recharger la page précédente à partir du serveur lorsque l'utilisateur appuie sur le bouton de retour.

J'ai ajouté ce qui suit à mes en-têtes de réponse:

Cache-Control: no-cache, must-revalidate
Expires: -1

Cela semble fonctionner pour la plupart des navigateurs, mais pas pour Google Chrome qui insiste pour renvoyer les résultats mis en cache.

Est-ce que quelqu'un sait comment je force le navigateur à récupérer la page du serveur lorsque l'utilisateur appuie sur le bouton de retour?

Je vous remercie.

40
Craig Norton

selon ce rapport de bogue dans le repo de chrome, les utilisateurs trouvent que l'utilisation de no-store au lieu de no-cache le corrigera dans chrome.

36
superfro

Ce n'est pas correct, mais vous pourriez peut-être utiliser l'objet d'historique Javascript pour déterminer si la page actuelle est la dernière page de la liste? Sinon, le bouton de retour a été enfoncé.

Voir cette référence: http://www.exforsys.com/tutorials/javascript/javascript-history-object-properties-and-methods.html

La vraie solution est bien sûr de structurer votre application de telle manière que l'utilisation des boutons Précédent/Suivant fonctionne réellement comme ils sont censés le faire.

0
Brad