浏览器BACK按钮上的URL处理

时间:2014-01-02 16:09:59

标签: javascript html browser

我正在制作一个简单的网络应用,可以在输入查​​询时打开网址。我在Python中使用瓶子框架。我面临的问题如下:

我有两个网址处理程序,一个用于/,另一个用于/process。当用户通过/上的表单输入查询时,表单操作会转到/process,后者会处理查询并使用window.open(url, "_self")打开特定网址。现在,当用户点击浏览器中的后退按钮时,将使用相同的查询再次调用/process,然后再次加载相同的URL。而不是这个,我希望当按下后退按钮时它/。我怎样才能做到这一点?感谢。

编辑:我之前没有注意到这一点,但是在Firefox中发现了上述不良行为,但在Chrome中没有。

2 个答案:

答案 0 :(得分:0)

您可以使用window.history对象来操作和替换历史记录,或者使用window.open(url, "_self")替换位置

示例:

window.location.replace(url);

检查some documentation和此答案 In Javascript, how do I "clear" the back (history -1)?

另一个解决方案可能是在用户要返回时拦截。请查看此答案以获得一些示例:

Intercepting call to the back button in my AJAX application: I don't want it to do anything!

答案 1 :(得分:0)

请勿使用window.open或任何类型的客户端JavaScript重定向。

/process请求的HTTP响应是具有302 Found标头的Location HTTP状态。

另见The Post/Redirect/Get Pattern