我尝试重定向而不会丢失Firefox中的历史记录。 我使用了下一个没有成功:
window.location = "http://example.com";
window.location.href = "http://example.com";
window.location.assign("http://example.com");
还尝试使用'文档'而不是'窗口'。
我被重定向,但未从浏览器添加(或删除)历史记录
任何想法!?
注意:我没有直接调用此函数,我在向服务器发出成功的jQuery Ajax请求后调用它:
$.ajax({
type: "POST",
...
success: function (data) {},
});
变量数据包含JS重定向函数(window.location.href = "http://example.com"
)
答案 0 :(得分:2)
您可以查看有关网址设计的这篇文章:http://warpspire.com/posts/url-design/特别是标题为“一切都应该有网址”的部分。基本上,您将需要使用history.pushState函数将新URL添加到浏览器历史记录中。您也可以查看类似的stackoverflow帖子:Update URL on AJAX call?或Change the URL in the browser without loading the new page using JavaScript
答案 1 :(得分:-1)
如果您在15秒内重定向,那么Firefox将不会在历史记录中保存上一页,因为否则单击“返回”会在再次重定向之前显示上一页不超过15秒,从而仅用于骚扰用户。