JS:使用'window.location'重定向,而不是在Firefox中保存历史记录

时间:2011-02-16 15:58:10

标签: javascript firefox redirect

我尝试重定向而不会丢失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"

2 个答案:

答案 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秒,从而仅用于骚扰用户。