Comment supprimer une page de l'historique du navigateur?
J'ai un avoir un ASP.Net page qui contient un bouton. Cette Page contient un ServerSide bouton Paypal.
Quand poussé mon serveur n'diverses choses intelligentes sur le back-end et puis réécrit la réponse comme une forme et un peu de javascript qui envoie ce formulaire de paypal..
Tout cela fonctionne très bien.
Toutefois, si l'utilisateur choisit de cliquer de nouveau, ils vont arriver à mon auto-générés à l'affichage de la forme et qui va de l'avant à nouveau Paypal.
J'ai pensé que si je pouvais trouver un moyen d'avoir mon formulaire généré page n'existe pas dans l'histoire, ensuite cela va résoudre mon problème. mais je n'ai aucune idée de comment remédier à cela.
Comment puis-je supprimer ma page de l'histoire, ou simplement l'avoir jamais apparaître?
Mise à jour: Merci à tous... Ceux qui sont certains de grandes réponses. Upvoted tous bons, mais est allé avec splattne sur le compte de l'utilisation intelligente de champ caché plutôt que de cookies pour des motifs de décision.
source d'informationauteur Rory Becker
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr si cela peut être fait. Mais ici, c'est une idée de comment vous pourriez éviter que de soumettre à nouveau le formulaire.
Vous pouvez insérer un caché entrée dans votre formulaire, qui au début était vide. Sur "soumettre" vous allez écrire une valeur dans ce champ et assurez-vous de vérifier sur chaque tentative de soumettre si ce champ est vide.
Si elle n'est pas vide sur "soumettre" vous savez que le formulaire a déjà été envoyée et vous pourriez avertir l'utilisateur.
de la fenêtre.emplacement:
Comme une application web, vous n'aurez jamais le plein contrôle du navigateur de l'utilisateur. Même si il a un moyen de demander au navigateur de ne pas stocker la page dans l'histoire, ce dont je doute, vous ne pouvez pas être sûr que ça va fonctionner. Par exemple, un habile utilisateur peut ajuster un navigateur open-source pour chaque page de l'histoire, n'importe quoi.
Je pense que vous devriez essayer d'aborder le problème sous un autre angle. Vous pourriez, par exemple, de détecter que c'est la même forme qui est transmis et ne pas l'envoyer à paypal la deuxième fois. L'important, c'est de le faire côté serveur.
Peut-être vous pouvez définir un cookie avant de soumettre le formulaire.
Lorsque la page est chargée, vérifier l'existence de cookie (qui signifie que le formulaire a déjà été soumis). Si trouvé, au lieu de automatiquement l'envoi du formulaire, retournent automatiquement (
window.history.back()
).Je ne suis pas sûr si vous pouvez le faire facilement avec l'intégration de PayPal, mais le
"Post /Redirect /Get" modèle peut être utilisé pour remédier à ce problème
Un Indice utile pour certains peut-être cela...
en particulier dans l'avènement d'un échec de chargement du popup d'alerte.
Vous pouvez simplement le programme de votre page à ne pas soumettre, ou de faire quelque chose /naviguer ailleurs, si la fenêtre.referer est la page de Paypal que vous essayez d'éviter d'appeler une deuxième fois.