【问题标题】:JS: Redirecting with 'window.location' not saving history in FirefoxJS:使用 'window.location' 重定向不会在 Firefox 中保存历史记录
【发布时间】:2011-02-16 15:58:09
【问题描述】:

我正在尝试重定向而不丢失 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) {},
});

变量data包含JS重定向功能(window.location.href = "http://example.com"

【问题讨论】:

标签: javascript firefox redirect


【解决方案1】:

你可以看看这篇关于 URL 设计的文章:http://warpspire.com/posts/url-design/ 特别是标题为“一切都应该有一个 url”的部分。基本上,您将希望使用 history.pushState 函数将新 url 添加到浏览器历史记录中。您也可以查看类似的 stackoverflow 帖子:Update URL on AJAX call?Change the URL in the browser without loading the new page using JavaScript

【讨论】:

【解决方案2】:

如果您在 15 秒内重定向,则 Firefox 不会将前一页保存在历史记录中,因为否则单击返回将显示前一页不超过 15 秒,然后它会再次重定向,从而只会惹恼用户。

【讨论】:

  • 如果我在页面加载时自动重定向,但事实并非如此。我只在调用函数的特定用户操作上重定向。
  • 有一些文档来支持这个吗?
猜你喜欢
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 2011-10-24
相关资源
最近更新 更多