Onclick javascript para hacer que el navegador regrese a la página anterior?

252

¿Hay alguna función que pueda adjuntar como evento de clic de un botón para que el navegador regrese a la página anterior?

<input name="action" type="submit" value="Cancel"/>
Doc vacaciones
fuente
77
window.history.back ()
John Strickler

Respuestas:

447

Agregue esto en su elemento de entrada

<input
    action="action"
    onclick="window.history.go(-1); return false;"
    type="submit"
    value="Cancel"
/>
rogerlsmith
fuente
52
Para mí esto no funciona en todos los navegadores, tuve que hacer lo siguiente. <input action="action" type="button" value="Back" onclick="window.history.go(-1); return false;" />Esta respuesta es bastante antigua, por lo que podría haber sido un problema introducido en las versiones más modernas de los navegadores. :)
ctrlplusb
44
¿Muestra esto la página anterior desde el caché o vuelve a cargar la página anterior desde el servidor?
Adrien
77
¿Para qué sirve la action="action"parte? ¿Y es válido html?
prohibición de geoingeniería
@Adrien: es javascript, por lo que se ejecuta en el navegador. El navegador debe reutilizar la página en caché (suponiendo que la configuración del navegador y la configuración del encabezado http de la página lo permitan).
ToolmakerSteve
Tenga en cuenta que JS en línea no debe usarse en producción porque: 1. El código JS debe estar en .jsarchivos dedicados y minificados 2. JS en línea debe deshabilitarse a través de una Política de seguridad de contenido para mitigar las inyecciones de XSS
Teofanía
120
history.back()

o

history.go(-1)

Pon esto en el onclickmango del botón . Debe tener un aspecto como este:

<input name="action" onclick="history.back()" type="submit" value="Cancel"/>
Vadim
fuente
11
Ponga esto en el botón en Manija de clic
Vadim
77
Podrías ser más claro como dar la respuesta en el código
WowThatsLoud
3
¿Cuál es el soporte del navegador en eso?
Costa
98

Para ir a la página anterior

Primer método

<a href="javascript: history.go(-1)">Go Back</a>

Segundo método

<a href="##" onClick="history.go(-1); return false;">Go back</a> 

si queremos retroceder más de un paso, entonces aumentar

For going 2 steps back history.go(-2)
For going 3 steps back history.go(-3)
For going 4 steps back history.go(-4)
and so on.......
Rizwan Gill
fuente
2
@JeromeJ es un enlace que no hace nada si JavaScript no está habilitado / funcionando (por cualquier razón) en la página. Si JavaScript funciona, el navegador recupera una página.
Jeromy French
14
<input name="action" type="submit" value="Cancel" onclick="window.history.back();"/> 
hspain
fuente
12

Solo necesita llamar a lo siguiente:

history.go(-1);
Rich O'Kelly
fuente
12

¡Más corto aún!

<button onclick="history.go(-1);">Go back</button>

http://jsfiddle.net/qXrbx/

Prefiero el .go(-number)método como entonces, para 1 o muchos 'respaldos' solo hay 1 método para usar / recordar / actualizar / buscar, etc.

Además, usar una etiqueta para un botón de retroceso parece más apropiado que las etiquetas con nombres y tipos ...

Michael Durrant
fuente
11

window.history.back ();

<button onclick="goBack()">Go Back</button>

<script>
function goBack() {
    window.history.back();
}
</script>
Malik Khalil
fuente
8

Sencillo. Una línea.

<button onclick="javascript:window.history.back();">Go Back</button>

Como la respuesta de Wim y Malik, pero solo en una línea.

Andre Mesquita
fuente
Funciona bien, pero a menudo si el usuario decide cambiar el idioma en una página específica con el botón como este, el botón de retroceso a la página anterior cambiará el idioma, en lugar de la página ...
Marek Bernád
6

Esto es lo único que funciona en todos los navegadores actuales:

<script>
function goBack() {
    history.go(-1);
}
</script>
<button onclick="goBack()">Go Back</button>
Wim Mostrey
fuente
6

Funciona para mi todo el tiempo

<a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>
Mannu saraswat
fuente