Javascript 浏览器后退按钮上的URL处理
我正在制作一个简单的web应用程序,在输入查询时打开url。我正在使用Python中的瓶子框架。我面临的问题如下: 我有两个URL处理程序,一个用于Javascript 浏览器后退按钮上的URL处理,javascript,html,browser,Javascript,Html,Browser,我正在制作一个简单的web应用程序,在输入查询时打开url。我正在使用Python中的瓶子框架。我面临的问题如下: 我有两个URL处理程序,一个用于/,另一个用于/process。当用户通过/上的表单输入查询时,表单操作转到/process,然后处理查询并使用窗口打开特定url。打开(url,“\u self”)。现在,当用户点击浏览器中的后退按钮时,/process将使用相同的查询再次调用,然后再次加载相同的url。当按下后退按钮时,我希望它转到/,而不是这个。我该怎么做?谢谢 编辑:我以前没
/
,另一个用于/process
。当用户通过/
上的表单输入查询时,表单操作转到/process
,然后处理查询并使用窗口打开特定url。打开(url,“\u self”)
。现在,当用户点击浏览器中的后退按钮时,/process
将使用相同的查询再次调用,然后再次加载相同的url。当按下后退按钮时,我希望它转到/
,而不是这个。我该怎么做?谢谢
编辑:我以前没有注意到这一点,但在Firefox中发现了上述不希望出现的行为,但在Chrome中没有发现。您可以使用window.history对象来操作和替换历史,或者,代替使用
window.open(url,“\u self”)
,替换位置
例如:
window.location.replace(url);
检查并回答这个问题
另一个解决方案是在用户返回时拦截。请勾选此答案,以获得一些示例:
不要使用
窗口重定向。打开或任何类型的客户端JavaScript
使对/process
请求的HTTP响应成为一个302 Found
HTTP状态,并带有位置
头
有关详细的维基百科链接,请参见。+1。问题是否与浏览器有关?解决方案有效。请看我的问题。有什么线索可以解释为什么这个问题与浏览器有关吗?url是如何传递到窗口的。open
是如何形成的?它实际上并没有形成。它是从搜索引擎返回的URL列表中选择出来的。