【问题标题】:How to specify the previous page for browser back button如何为浏览器后退按钮指定上一页
【发布时间】:2013-03-07 00:30:02
【问题描述】:

我正在创建一个 Web 应用程序。

我有一个用户登录后看到的登录页面。

他们可以从登录页面单击链接转到详细信息页面。

详细信息页面会加载默认 id 开始的数据。它还包含一个下拉菜单,供用户选择不同的 ID。当用户按下提交按钮时,它会向同一页面发出 get 请求,但使用可选参数 id=someID 这会重新加载页面并显示新选择的 id 的数据。所有这些都正常工作。

我的问题是,如果用户从下拉列表中选择几个不同的 id 并单击提交以查看他们的数据,那么现在如果他想返回登陆,他必须返回查看他查看的每个 id。我想知道是否可以进行设置,以便当他们按下后退按钮时,无论他们选择了多少次新的 ID 来查看数据,他们都会直接进入登录页面。

这是我想要实现的流程:

/landing -> /detail -> /detail?id=1 -> /detail?id=2 -> [press back button] -> /landing

【问题讨论】:

  • 也许你可以在页面上创建一个指向着陆页的链接。
  • @SheikhHeera 我可以创建一个指向登录页面的链接,但如果可能的话,我希望能够通过使后退按钮转到登录页面来为用户简化它。如果无法让后退按钮按我想要的方式工作,那么我将使用硬编码链接返回着陆
  • 或许你可以使用html5 history api在每个详情页推送登陆页面。
  • 我想你用HTML5 history.pushState修改history来保持后退状态,就像jcubic说的那样。

标签: javascript html web.py


【解决方案1】:

通过 ajax 获取详细信息页面上的请求。您必须进行一些重构,以便在成功请求时,它接收到的信息将像内容块一样重新填充,但这将允许详细信息页面上的信息更新,而无需您实际导航到新页面。然后它会让您能够按返回按钮返回到着陆页。

【讨论】:

    【解决方案2】:

    如果您已经在使用一种方法来捕获请求的 id 数量:

    <INPUT Type="button" id="back" VALUE="Back" onClick="history.go(-"number of id requests");return true;">
    

    【讨论】:

      猜你喜欢
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2013-03-02
      • 1970-01-01
      • 2017-05-23
      • 2013-07-19
      相关资源
      最近更新 更多