relaciona - learn javascript
En Javascript, ¿cómo “limpio” la parte posterior(historial-1)? (3)
Cuando el usuario carga la página, inmediatamente hago una redirección de ventana a otra ubicación.
El problema es que cuando el usuario vuelve a hacer clic, volverá a la página que redirige.
¿Puedo "cancelar" el historial de la página anterior? ¿Para que cuando el usuario haga clic atrás, retroceda DOS páginas?
Para cualquier persona que llegue a esta página y busque una forma de AngularJS para lograr esto (en lugar de javascript), use el método replace () del servicio $ location ( documentation ):
Use $location.url(''/newpath'');
o $location.path(''/newpath'');
Como normalmente lo harías en la redirección angular. Y luego simplemente agregue $location.replace();
justo después de eso O puedes encadenar los comandos así:
$location.url(''/newpath'').replace();
Puede usar location.replace
para reemplazar la entrada de ubicación actual (la página de redirección) con la nueva (el destino). Eso requiere que haga la redirección a través de JavaScript en lugar de con etiquetas meta o un 302. Por ejemplo:
// In the redirecting page
location.replace("path/to/target/page");
En lugar de usar window.location = url;
para redirigir,
tratar:
window.location.replace(url);
después de usar reemplazar (), la página actual no se guardará en el historial de la sesión, lo que significa que el usuario no podrá usar el botón Atrás para navegar hacia ella.