Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: MA40 en 10 Noviembre 2016, 19:17 pm



Título: [javascript] Recargar página al pinchar botón “atrás” del navegador
Publicado por: MA40 en 10 Noviembre 2016, 19:17 pm
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
  1. <script type="text/javascript">
  2.  location.replace(document.referrer);
  3. </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.


Título: Re: [javascript] Recargar página al pinchar botón “atrás” del navegador
Publicado por: engel lex en 10 Noviembre 2016, 19:39 pm
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"


Título: Re: [javascript] Recargar página al pinchar botón “atrás” del navegador
Publicado por: MA40 en 10 Noviembre 2016, 21:01 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.


Título: Re: [javascript] Recargar página al pinchar botón “atrás” del navegador
Publicado por: engel lex en 10 Noviembre 2016, 21:07 pm
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

(http://i.imgur.com/n55o4cd.png?1)


Título: Re: [javascript] Recargar página al pinchar botón “atrás” del navegador
Publicado por: SetzerFF en 10 Noviembre 2016, 21:21 pm
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
  1. <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