【问题标题】:Go back to previous page regardless of changes in query string无论查询字符串发生什么变化,都返回上一页
【发布时间】:2020-12-06 09:07:48
【问题描述】:

我有一个带有可搜索表格的页面。我写了一个“返回”按钮返回上一页:

<a href="javascript:history.back()">Back</a>

比如我主页的网址是:

https://xxxxxx.com

我从主页进入带有可搜索表格的页面(或任何其他页面)

https://xxxxxx.com/data

当我执行搜索时,URL 变为:

https://xxxxxx.com/data?search=*sth*

当我点击“返回”按钮时,URL 变为:

https://xxxxxx.com/data

我真正想要的是:

https://xxxxxx.com/

(或/data之前用户进入的页面)


如何在搜索按钮上重写我的 javascript,以便后退按钮可以到达实际页面?

【问题讨论】:

  • &lt;a href="https://xxxxxx.com/"&gt;Back&lt;/a&gt;

标签: javascript


【解决方案1】:

您可以使用window.location.replace(window.location.host),而不是仅返回一个的history.back(),它会加载根页面。

要了解更多关于window.location的信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/location

编辑:

如果你想忽略 URL 参数,你需要改变你去另一个页面的方式。

您应该使用window.history.replaceState(...),而不是window.history.pushState(...),此时导航应该在后退单击时被忽略。

这里有更多关于该主题的阅读:What is the trade off between history push and replace?

【讨论】:

  • 抱歉我的问题不清楚。如果页面不一定来自根怎么办?
  • 那我不明白你的问题。请编辑它以更清楚您的要求@samhoooo
  • 我已经编辑了问题,请检查您是否清楚。基本上我想在用户登陆 /data 之前导航回页面,而不是对根 url 进行一些“硬编码”。
  • 在我的回答中添加了更多信息@samhoooo
猜你喜欢
  • 1970-01-01
  • 2018-03-30
  • 2019-07-12
  • 2021-09-02
  • 2017-07-20
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 2013-07-02
相关资源
最近更新 更多