location.replace不会替换历史记录中的当前网址

时间:2016-07-21 18:56:17

标签: javascript

我在按钮点击时执行以下代码:

location.replace(window.location.href.split('?')[0] + _new_urli);

我的网址如下:https://mywebsite.com/website/?page=page1

为了举例,我们有:

当前行为: 在location.replace()之后,当前网址保留在历史记录中,用户可以点击返回

期望/预期的行为: 如果成功,将转发用户。如果他们按下后将无法访问我使用location.replace的页面。

这是在http://www.w3schools.com/jsref/met_loc_replace.asp

上描述的功能

1 个答案:

答案 0 :(得分:0)

您可以使用history导航。

history.go(-2);之类的东西应该有用。

如果您想要修改网址,可以查看history.pushState(null, null, "newURL");,或者您的情况可能更多history.replaceState()

事情是后退按钮没有改变,所以如果你的data在第3页被更改,你需要另一种方式将它传递给浏览器,这可能是state object(第一个参数) null)可以设置为{object: value,...}

This while probably interest you too。事情是不知道您的网站的行为很难帮助您找到合适的解决方案。我希望这会激励你。