【问题标题】:Javascript back on two consecutive pagesJavascript 在两个连续页面上返回
【发布时间】:2012-09-12 07:38:42
【问题描述】:

所以,我遇到了一个问题:我有 2 个(或更多)连续页面,用户可以点击这些页面。在每个页面的底部都有一个“返回”按钮(带有 Javascript 的 history.go(-1);),以便用户能够返回到上一个视图。

现在我的问题是:当用户在第 3 页并单击按钮时,他会返回第 2 页(直到这里一切正常),但是当他返回第 2 页并单击该页面上的后退按钮时,而不是进一步回到第 1 页,他被送回(或前进?)到第 3 页。 有没有办法解决这个问题,我用谷歌搜索了,但是什么都找不到。

提前致谢! :)

【问题讨论】:

  • 如果你问这个问题——你不了解浏览器历史行为和 JavaScript 功能——你应该阅读并学习。当你知道的足够多时,你会自己找到理查德答案的替代方案。
  • 自 javascript:history.go(-1);应该模拟浏览器的后退按钮,然后按两次后退按钮正是我试图做的,我认为在 JavaScript 中也有办法做到这一点。我知道有很多选择,我只是想避免它们。哦,好吧,看来我必须坚持使用直接链接。
  • 如果您按照进度页面 1 -> 第 2 页 -> 第 3 页 (...) 并使用 history.go(-1) ,它的行为方式与浏览器的后退按钮相同.另一方面,如果您在第 2 页上进行任何处理(向服务器发送/获取请求),它将重写您的浏览器的历史记录,这样您就会发现自己位于恰好是 AFTER 页面的第 2 页3

标签: back javascript


【解决方案1】:

您的问题是 Javascript 的行为与将浏览器返回到上一页时的行为完全相同。您不能更明确地处理页面之间的导航吗?将 history.go(-1) 替换为实际脚本\页面的链接?

【讨论】:

  • 我想避免使用直接链接,因为这会产生一些问题。但由于似乎没有办法仅使用 JavaScript 来解决它,我想我必须实现直接链接。感谢您的回答!
  • 别担心,如果页面是从服务器端脚本动态提供的,您可以在那里跟踪用户的进度并相应地提供页面。不过可能对你的要求有点过分了。
【解决方案2】:

使用window.location 代替history.go(-1) 将用户返回到上一页。如果用户登陆您的流程中的第二页,则返回按钮将毫无用处。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2010-10-10
    • 1970-01-01
    • 2013-08-28
    • 2014-08-12
    • 2013-05-30
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    相关资源
    最近更新 更多