在Javascript中,如何"清除"后面(历史记录-1)?

TIM*_*MEX 52 html javascript css

当用户加载页面时,我立即将窗口重定向到另一个位置.

问题是,当用户点击回来时,它将返回执行重定向的页面.

我可以"取消"上一页的历史记录吗?那么当用户点击回来时,它会返回两页而不是?

xda*_*azz 98

而不是使用window.location = url;重定向,

尝试:

window.location.replace(url);
Run Code Online (Sandbox Code Playgroud)

使用replace()后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用"后退"按钮导航到该页面.


T.J*_*der 8

您可以使用location.replace新的(目标)替换当前位置条目(重定向页面).这要求您通过JavaScript而不是使用元标记或302进行重定向.例如:

// In the redirecting page
location.replace("path/to/target/page");
Run Code Online (Sandbox Code Playgroud)

实例 | 实例示例源


Reb*_*cca 5

对于浏览此页面并寻找AngularJS方式(而不是javascript)的任何人,请使用$ location服务的replace()方法(documentation):

通常使用$location.url('/newpath');$location.path('/newpath');进行角度重定向。然后在其后添加$location.replace();。或者,您可以像这样链接命令:

$location.url('/newpath').replace();
Run Code Online (Sandbox Code Playgroud)

  • 回答“ angularJS”,他是否将“ angularJS”包含在问题中?我不知道人们如何给您4个答案,甚至是与“ angularJS”无关的问题! (2认同)