我正在制作一个简单的网络应用,可以在输入查询时打开网址。我在Python中使用瓶子框架。我面临的问题如下:
我有两个网址处理程序,一个用于/
,另一个用于/process
。当用户通过/
上的表单输入查询时,表单操作会转到/process
,后者会处理查询并使用window.open(url, "_self")
打开特定网址。现在,当用户点击浏览器中的后退按钮时,将使用相同的查询再次调用/process
,然后再次加载相同的URL。而不是这个,我希望当按下后退按钮时它/
。我怎样才能做到这一点?感谢。
编辑:我之前没有注意到这一点,但是在Firefox中发现了上述不良行为,但在Chrome中没有。
答案 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状态。