在不使用location.replace的情况下从历史浏览器中删除当前页面

时间:2017-07-17 08:17:33

标签: javascript jquery

我有一个页面example1.aspx,可以调用另一个页面example2.aspx?id=5example2.aspx中,我取id(5)并执行ajax请求 我不想显示?id = 5,所以我使用

history.pushState("", document.title, window.location.pathname);
删除window.location.search
它运行良好,但我的问题是,如果用户单击后退按钮,浏览器将重定向到example2.aspx?id=5。 如何从浏览器历史记录中删除页面example2.aspx?id=5

我读了很多关于建议使用location.replace的其他问题的答案,但它并没有帮助我,因为 如果我使用location.replace("example2.aspx")浏览器在刷新时刷新页面和页面,如果它没有?id自动执行 id = 1的ajax请求。

那么,是否可以在不使用location.replace的情况下从历史记录中删除网页?

1 个答案:

答案 0 :(得分:1)

你想要的一切,History有:

  var stateObj = { foo: "bar" };
  history.replaceState(stateObj, "page 2", "bar.html");