javascript 返回上一个URL并替换导航历史记录中的当前URL

nxowjjhe  于 2023-01-01  发布在  Java
关注(0)|答案(1)|浏览(256)

我需要回到以前的网址时,一个按钮被点击。
例如:以前的URL:

www.mysite.com

当前URL:

www.mysite.com/name/

用户点击按钮:它可以追溯到:

www.mysite.com

但我还需要替换:www.mysite.com/name/(浏览器导航历史记录)。
如何用javascript实现这一点?
我尝试使用location.replace(URL),因为这将从导航历史中删除URL,但是我应该为URL参数提供什么呢?知道我需要返回的事实。

k5ifujac

k5ifujac1#

可以使用window.history.replaceState方法将浏览器导航历史记录中的当前URL替换为新URL。下面是如何使用此方法返回到上一个URL的示例:

function goBack() {
  var currentUrl = window.location.href;
  var previousUrl = window.history.state.previousUrl;

  window.history.replaceState({previousUrl: currentUrl}, '', previousUrl);
  window.history.back();
}

要使用此函数,需要在用户导航到当前URL时将以前的URL存储在浏览器的历史记录状态中。可以通过在导航到新URL之前调用window.history.pushState方法来执行此操作:

window.history.pushState({previousUrl: currentUrl}, '', currentUrl);
window.location.href = newUrl;

相关问题