2010-08-06 7 views
3

Je me demande s'il existe un moyen de détecter quand une page est rechargée après avoir appuyé sur le bouton de retour d'un navigateur, dans ASP .NET?Comment attraper un événement en appuyant sur le bouton de retour?

Merci

+1

Pourquoi? Qu'essayez-vous de faire? – SLaks

+0

Probablement juste vérifier l'utilisateur ne pas appuyer sur le bouton de retour pour soumettre des formulaires contradictoires ou quelque chose comme ça. Cela revient probablement à un problème de conception. –

Répondre

5

Unfortunatly pour autant que je sais qu'il FAIL aucun moyen sûr de le faire, car cela dépend primarially du navigateur. Certains navigateurs rechargeront physiquement le contenu lorsque vous appuierez dessus, d'autres le mettront en cache et chargeront simplement un cache. D'autres feront un mélange des deux.

+0

Intéressant de savoir que les navigateurs ne fonctionnent pas de la même manière pour le bouton de retour. Apparemment: Certains navigateurs rechargent physiquement le contenu lorsque vous appuyez sur précédent => Internet Explorer. thers le mettra en cache et chargera simplement un cache => Firefox. –

+0

Vient aussi à beaucoup de paramètres utilisateur, et comment les navigateurs traitent certaines balises META. –

+0

Détermine également combien de stockage est autorisé pour la pile d'historique. FF donne une version en cache (pas le même que le cache web, mais une copie de l'état quand vous avez quitté la page), cependant, faire assez de travail dans FF (y compris dans d'autres onglets et fenêtres) et cet état est vidé, et doit faire une recharge. –

2

Script côté client peut avoir un certain succès dans ce domaine, mais les différences entre les navigateurs est considérable. D'un point de vue conceptuel, cela n'a guère de sens, car vous feriez sans doute quelque chose sur la base de cette connaissance, ce qui changerait «l'histoire». Ne changez pas l'histoire! :)

La classe la plus commune de problème que j'ai trouvé pour donner une envie de faire ceci est re-soumission d'un formulaire, suite à un retour. Je résoudrais normalement ceci en incluant un nonce dans le formulaire, et en rejetant des nonces répétées. Les UUID sont pratiques dans ces cas.

D'autres cas ont d'autres solutions.

Questions connexes