2009-10-22 5 views

Répondre

3

Techniquement vous ne pouvez pas lire l'historique du navigateur de l'utilisateur. C'est pour des raisons de confidentialité. Vous pouvez cependant faire des choses à comprendre si l'utilisateur a été amené à votre page via le référent de la page. S'il s'agit d'une publication, vous pouvez générer une variable côté serveur.

Pour obtenir le referrer javascript est assez facile

var referrer = document.referrer; 

Pour déterminer si elle est une publication (en C#)

var isPostback = <%= IsPostBack %> 

La question de l'histoire est un peu plus compliqué. Le meilleur moyen de contourner cela serait de mettre vos pages à expiration immédiatement.

Response.Cache.SetNoServerCaching(); 
Response.ExpiresAbsolute = DateTime.Now; 

Mais ce sont des solutions relativement lâches. Pourquoi voulez-vous ce comportement?

+0

Je suis en difficulté avec les messages enregistrés côté serveur (asp.net). Un utilisateur compile un formulaire, l'envoie au serveur, le serveur fait son serverthing et enregistre une alerte javascript pour les choses invalides qu'il trouve. Ensuite, si l'utilisateur revient à l'historique et réexpédie, le message apparaît une autre fois. Je pense que si je peux enregistrer une fonction js pour vérifier cette situation, je peux contourner ou pas l'alerte. Je ne sais pas si votre solution peut fonctionner dans mon scénario, mais je vais essayer :) merci – tanathos

2

Vous pouvez ajouter un horodatage à chaque page. Si l'horodatage est trop éloigné, l'utilisateur a probablement utilisé le bouton de retour. Mais cela ne fonctionnera pas si le navigateur est et non en chargeant la page du cache.

Attendez, vous pouvez également ajouter un horodatage à l'URL. Vous comparez maintenant l'horodatage de la page avec l'horodatage de l'URL de référence.

Je pense à une solution avec des cookies, mais je ne peux pas en obtenir une maintenant. Quelqu'un?

Questions connexes