当前位置:  开发笔记 > 编程语言 > 正文

如何从浏览器历史记录中删除页面?

如何解决《如何从浏览器历史记录中删除页面?》经验,为你挑选了3个好方法。

我有一个ASP.Net页面,其中包含一个按钮.此页面包含ServerSide Paypal按钮.

推送时,我的服务器在后端执行各种聪明的操作,然后将响应重写为表单和一些将此表单发布到paypal的javascript.

一切都很好.

但是,如果用户然后选择点击返回,他们将到达我生成的自我发布表单,并将其再次转发给Paypal.

我想如果我能找到一种方法让我生成的表单页面不存在于历史中,那么这将解决我的问题.但我不知道如何纠正这个问题.

如何从历史记录中删除我的页面,或者只是让它永远不会出现?

更新:感谢所有......这些是一些很好的答案.赞成所有好的,但由于巧妙地使用隐藏字段而不是cookie作为决策依据而使用splattne.



1> Eugene Yokot..:
window.location.replace(URL);

window.location:

更换(URL)

将当前文档替换为提供的URL处的文档.与assign()方法的不同之处在于,在使用replace()之后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用"后退"按钮导航到该页面.



2> splattne..:

我不确定是否可以做到.但是这里有一个想法,你如何能够阻止重新提交表单.

您可以在表单中插入隐藏的输入,该输入在开头将为空.提交时,您将在该字段中写入一个值,并确保在此字段为空时检查每次提交尝试.

如果提交时它不是空的,则您知道该表单之前已发送过,您可以警告用户.



3> dub..:

作为Web应用程序,您永远无法完全控制用户的浏览器.即使有一种方法可以指示浏览器不将页面存储在历史记录中,我怀疑,您无法确定它是否可行.例如,一个聪明的用户可以调整一个开源浏览器来存储历史中的每个页面,无论如何.

我认为你应该尝试从另一个角度来解决这个问题.例如,您可以检测到它是转发的相同形式,而不是第二次将其发送到PayPal.重要的是在服务器端做它.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有