[javascript] Recargar página al pinchar botón “atrás” del navegador

Iniciado por MA40, 10 Noviembre 2016, 19:17 PM

0 Miembros y 1 Visitante están viendo este tema.

MA40

Hola.

Estoy intentando crear una página web que al cargarla desde el botón "atrás" del navegador, se recargue completamente de nuevo, no la que llega almacenada del caché.

Ejemplo: cargo la página, luego voy a otra, pincho en el botón atrás del navegador, y AHORA debe recargarse la primera página sin usar el caché.

Estoy intentando usar el siguiente javascript:

Código (javascript) [Seleccionar]
<script type="text/javascript">
 location.replace(document.referrer);
</script>


El problema es que, al cargarse por primera vez la página, entra en un bucle infinito. La solución podría ser poner la sentencia dentro de una condición "if (evento = cuando se haya pinchado el botón atrás del navegador)" pero no sé cómo hacerlo. ¿Alguna ayuda?

Un saludo.
¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador

engel lex

no creo que puedas detectar el click hacia atrás ya que era usado antes como una vulnerabilidad para rastrear a los usuarios (y si "secuestraras" el boton de atrás tambien sería una vulnerabilidad, ya que podrías redirigir a publicidad a un usuario que intenta escapar)

puedes usar el evento "onbeforeunload" que te permite lanzar una ventana "está seguro que quiere abandonar"
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MA40

Cita de: engel lex en 10 Noviembre 2016, 19:39 PM...
puedes usar el evento "onbeforeunload" que te permite lanzar una ventana "está seguro que quiere abandonar"


Hola.

Ya pero eso afectaría a la segunda página, no a la primera que es la que tengo que recargar ¿no?

Un saludo.
¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador

engel lex

no vas a poder recargar si presionan atras...

el "onbeforeunload" te permite lanzar un prompt predeterminado tipo facebook cuando no has terminado de escribir un texto

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

SetzerFF

Una opción es en vez de usar history:go(-1). Es que el link de Volver, abra la pagina directamente.

Fijate si te sirve.

Código (html4strict) [Seleccionar]
<a href="#" onclick="window.location.href = document.referrer; return false;">Volver atras</a>

Esta opción, lo que hace es reabrir la página de atrás de vuelta.

Tiene que estar subido al servidor, para poder agarrar el document.referrer

Salu2

Fold'em, Let'em Hit Me, Raise It, Stay with Me