如何删除网址中最后一次删除后的内容而不重新加载页面?

时间:2017-08-09 23:03:13

标签: javascript

我有一个看起来像这样的网址

documentation

在页面上执行某些操作后,项目将使用项目名称保存到数据库中。现在我想替换像这样的网址

http://foo.com/Item/newItemName

我需要更新窗口状态,所以是否可以使用window.history.replaceState方法或类似的方法更新网址?

3 个答案:

答案 0 :(得分:2)

您正在寻找的是pushState功能。

查看以下文档:https://developer.mozilla.org/en-US/docs/Web/API/History_API

另外,请查看本教程:https://css-tricks.com/using-the-html5-history-api/

pushState功能非常方便。

答案 1 :(得分:0)

应该可以做类似的事情:

history.pushState({}, null, newUrl);

newUrl是新网址,应该替换当前网址。请注意,这只是HTML5。

答案 2 :(得分:0)

我会使用replaceState,而不是pushState,因为您不想在用户的浏览器历史记录中创建新条目。

history.replaceState(
  '{ foo: "bar" }', 
  'Some new title', 
  'http://foo.com/Item/12345'
);