Foros del Web » Programando para Internet » Javascript »

Uso del history.back()

Estas en el tema de Uso del history.back() en el foro de Javascript en Foros del Web. Quiero utilizar una función para poder ir hacía la página anterior de donde estaba, lo mismo que la flechita del navegador (<-)?? Ejemplo explicativo: Tengo ...
  #1 (permalink)  
Antiguo 18/01/2007, 07:37
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 7 meses
Puntos: 1
Uso del history.back()

Quiero utilizar una función para poder ir hacía la página anterior de donde estaba, lo mismo que la flechita del navegador (<-)??

Ejemplo explicativo: Tengo a.php b.php c.php
a y b tienen un link a c, y quiero poner un link a c que sea "volver" y que vuelva a 'a' si hemos llegado a 'c' desde 'a' o a 'b' si lo hemos hecho desde 'b'.

Me han comentado que se puede hacer com history.back() pero no tengo ni idea de utilizarlo.

Si hay alguna otro forma o ponerme un ejemplo de uso de history.back()

GRACIAS
__________________
Quien no me pregunta no se entera!!
  #2 (permalink)  
Antiguo 18/01/2007, 08:10
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Uso del history.back()

Qué tal,

un ejemplo simple podría ser este

Código:
<a href="#" title="Regresar a página anterior" onclick="history.back()">Volver</a>
o este

Código:
<span title="Regresar a página anterior"  style="cursor: pointer" onclick="history.back()">Volver</span>
Sin embargo en un dispositivo sin javascript mostraría un link o un texto que no llevaría a ninguna parte y ese link/texto infuncional estaría entonces de más.

Se podría agregar el elemento que lleve la instrucción directamente con javascript. Así si hay javascript se mostrará y funcionará. Si no lo hay, no mostrará ninguna opción.

Código:
<span title="Regresar a página anterior" id="volver" style="cursor: pointer"></span>
<script type="text/javascript">
<!--
v = document.getElementById('volver')
v.appendChild(document.createTextNode('volver'))
v.onclick = function() {history.back()}

//-->
</script>
Lo óptimo sería, si usas algún lenguaje del lado del servidor, como php, usar un link al referer ...

Código PHP:
<?
if(isset($_SERVER['HTTP_REFERER'])){ ?>
    <a title="Regresar a página anterior" href="<?=$_SERVER['HTTP_REFERER']?>" onclick="history.back()">Volver</a>
<?
}
Así si no hay un referer no se cargará el elemento para volver y si no hay javascript se activará el link normalmente hacia la página de atrás (referer)

Un saludo
  #3 (permalink)  
Antiguo 18/01/2007, 08:13
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Uso del history.back()

Con asp sería algo así

Código PHP:
<%
referente request.ServerVariables("HTTP_REFERER")
if 
referente <> "" then
%>
<
a title="Regresar a página anterior" href="<%=referente%>" onclick="history.back()">Volver</a>
<% 
end if %> 
  #4 (permalink)  
Antiguo 18/01/2007, 09:01
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Uso del history.back()

OK! Mcuhas gracias ahora lo probaré a ver que utilizo!
__________________
Quien no me pregunta no se entera!!
  #5 (permalink)  
Antiguo 18/01/2007, 10:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 118
Antigüedad: 19 años, 1 mes
Puntos: 1
Re: Uso del history.back()

Creo que también valdría en el onClick del enlace o botón poner:
Ejemplo con botón:
<input type='button' value='VOLVER' onClick='javascript:history.go(-1);'>.

Perdón por la intromisión.
  #6 (permalink)  
Antiguo 18/01/2007, 10:28
 
Fecha de Ingreso: enero-2007
Mensajes: 23
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Uso del history.back()

Hola, tambien puedes utilizar el history.back de la siguiente forma:

ejemplo: si tienes las paginas A,B,C,D y desde la página A llegaste a la C, estas en la C y quieres regresar defrente a la pagina A, pondrias en el history.back de la página C:

history.back(2), que te permitira regresar 2 páginas anteriores.


Puedes utilizarlo en una funcion:

<script language="javascript">
function retrocede(){
history.back(x)
//donde x es el valor que le das
}
</script>

y lo llamas en un botoncito:
<input type="button" value="Regresa" onClick="retrocede();">

Espero te sirva ;)
  #7 (permalink)  
Antiguo 18/01/2007, 10:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Uso del history.back()

Cita:
Iniciado por feram1986 Ver Mensaje
history.back(2), que te permitira regresar 2 páginas anteriores.
Qué tal feram1986

matizar que el método back() no lleva argumentos asignados. Supongo que en realidad te refieres al método go(n) que sí usa un argumento n en donde n es un número positivo o negativo dependiendo de si se quiere ir hacia adelante o hacia atrás en el historial del navegador.

history.go(-2) saltará dos posiciones hacia atrás en el navegador.

back() siempre saltará al anterior así como forward() al siguiente sin poder asignarles argumentos.

Un saludo
  #8 (permalink)  
Antiguo 18/01/2007, 11:03
 
Fecha de Ingreso: enero-2007
Mensajes: 23
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Uso del history.back()

Tienes toda la razon, me confundi, a cualquiera le pasa... muchas gracias por la corrección...:D
  #9 (permalink)  
Antiguo 18/01/2007, 11:18
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Re: Uso del history.back()

Hola tunait...
Esto no se puede hacer con un Breadcrumb dinámico?
Por ejemplo, de la pagina A voy a la B, C, D y estando en la D que me permita volver por donde vine mostrandome los link, aunque los archivos estén en diferentes Directorios.
Eso se puede?
Saludos.-
  #10 (permalink)  
Antiguo 19/01/2007, 01:38
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Uso del history.back()

Ok!muchas gracias por responder. Mi problema es que quiero usar esto

<input type='button' value='VOLVER' onClick='javascript:history.go(-1);'>
Pero usar una imagen como boton en volver, No quiero que me salga el tipico "button". Como se puede hacer??
__________________
Quien no me pregunta no se entera!!
  #11 (permalink)  
Antiguo 19/01/2007, 01:40
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Uso del history.back()

OK! ya lo he conseguido. Muchas gracias!!
<a href="../panel.php" title="Panel de Control" onClick="javascript:history.go(-1)"><img border="0" src="images/358.gif" width="56" height="52" /></a>
__________________
Quien no me pregunta no se entera!!
  #12 (permalink)  
Antiguo 08/05/2008, 14:41
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
Re: Uso del history.back()

Si tengo una pagina con 2 frames (top y bottom) como utilizo el back y forward?
Las funciones las coloque en el frame del top.

Última edición por rossz; 08/05/2008 a las 15:11
  #13 (permalink)  
Antiguo 15/06/2008, 14:48
 
Fecha de Ingreso: mayo-2008
Ubicación: montevideo
Mensajes: 9
Antigüedad: 15 años, 11 meses
Puntos: 0
Pregunta Respuesta: Uso del history.back()

Bueno yo tengo esto:

<a href="JavaScript:history.back()">Volver</a>

Funciona bien pero al volver se queda en la parte inferior de la pagina, quisiera q volviera a la parte superior de la pagina anterior.
ya puse un "Anclaje con nombre" #top pero no se como hacer para q haga las dos cosas a la vez. intente:

<a href="JavaScript:history.back()+#top"></a>

pero no funciona de ese modo.
alguien?

Última edición por diezko; 15/06/2008 a las 14:58
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:23.