Foros del Web » Creando para Internet » HTML »

Problema con boton Atras y Meta Refresh en IE

Estas en el tema de Problema con boton Atras y Meta Refresh en IE en el foro de HTML en Foros del Web. Buenas, Llevo unos dias dandole vueltas a un problema que tengo con el boton "Atras" en algunas versiones de Internet Explorer, y me he decidido ...
  #1 (permalink)  
Antiguo 05/11/2007, 06:00
zor
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Problema con boton Atras y Meta Refresh en IE

Buenas,

Llevo unos dias dandole vueltas a un problema que tengo con el boton "Atras" en algunas versiones de Internet Explorer, y me he decidido a "compartirlo"...

Tengo una pagina origen con un enlace. Ese enlace nos lleva a otra pagina que, mediante una etiqueta <META HTTP-EQUIV="Refresh"> nos lleva a la pagina destino. Si navegamos usando Firefox, una vez en la pagina destino, podemos pulsar el boton "Atras" del navegador para volver a la pagina origen.

El problema es que, en algunas versiones de IE, al pulsar "Atras", no vuelve al origen (que entiendo sería el funcionamiento normal), sino a la pagina intermedia que efectua la redirección, de forma que la redirección se efectua, rompiendose el funcionamiento normal del boton "atras"

Añado un ejemplo del codigo utilizado

origen.htm
Código HTML:
<html>
<body>
  <a href="file://C:\temp\redireccion.htm">link</a>
</body>
</html> 
redireccion.htm
Código HTML:
<html>
<head>
 <META HTTP-EQUIV="Refresh" CONTENT="0;URL=file://C:\temp\destino.htm">
</head>
</html> 
destino.htm
Código HTML:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8">
</head>
<body>Destino</body>
</html> 
El problema (que el boton "atras" no vuelva al origen) lo he visto en algunas versiones de IE6, pero no se en cuales: lo he reproducido en IE6 SP2 sobre Windows XP y en IE6 SP1 sobre W2000, aunque en otras versiones de IE6 SP2 sobre XP funciona correctamente (el boton "Atras" devuelve al origen), y tambien se comporta correctamente con IE7 y Firefox...

Haciendo pruebas, he comprobado que si en la página de destino elimino la etiqueta <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8">, obtengo el funcionamiento normal (es decir, el boton "Atras" me devolvería al origen), pero no creo que esta sea una solución valida...

He estado buscando para ver si encuentro alguna causa concreta del error (ya sea alguna opcion de configuración concreta, algún parche de seguridad, o lo que sea) para delimitar concretamente el motivo de este comportamiento anómalo, pero sin exito... y me he decidido a "compartirlo", por si alguien con mas conocimientos puede ayudarme, o si alguien se ha enfrentado a esto previamente, y puede echarme una mano...

Un saludo, y gracias!

Última edición por zor; 05/11/2007 a las 06:01 Razón: aclaracion
  #2 (permalink)  
Antiguo 05/11/2007, 08:31
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema con boton Atras y Meta Refresh en IE

Pues no deberías usar una etiqueta REFRESH para redirigir.
Si le decís al navegador que "actualice" la página, es lógico que no vuelva a la original, porque le estás diciendo que son la misma. Aunque obviamente no lo son.

Deberías usar Javascript (explicando que la redirección podría no realizarse y proveyendo un enlace alternativo) o un lenguaje del lado del servidor. Por ejemplo, en PHP bastaría:

header('Location: nuevapagina');


Saludos.
  #3 (permalink)  
Antiguo 07/11/2007, 16:52
 
Fecha de Ingreso: septiembre-2007
Mensajes: 184
Antigüedad: 17 años, 2 meses
Puntos: 4
Re: Problema con boton Atras y Meta Refresh en IE

No puedo contar el numero de sitios en los que me ha ocurrido lo mismo mientras navegaba, es bastante desagradable y generalmente no suelo volver a visitarlas o directamente las cierro.
  #4 (permalink)  
Antiguo 07/11/2007, 18:55
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 19 años, 6 meses
Puntos: 10
Re: Problema con boton Atras y Meta Refresh en IE

Honestamente, no entiendo la razón de usar el tag META para redirigir, en el último de los casos, porqué no usas como sugiere alvlin algún lenguaje del lado del servidor, javascript o incluso HTML como se debe en la etiqueta <A>.

Posteo algunos ejemplos:
Si quieres redireccionar a pagina_redireccionada.html

javascript:
Código:
document.location = 'pagina_redireccionada.html';
PHP:
Código PHP:
header'Location: pagina_redireccionada.html' ); 
HTML (este es obvio que lo saben, pero no está de más):
Código HTML:
<a href="pagina_redireccionada.html">link</a> 
Saludos, espero no haber sido demasiado redundante
  #5 (permalink)  
Antiguo 08/11/2007, 02:44
zor
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Re: Problema con boton Atras y Meta Refresh en IE

Muchas gracias por las respuestas.

Yo tampoco entiendo a que viene el refresh, la verdad... viene de una pagina generada automaticamente por determinado proceso... y a mi me toca meterme en las tripas de ese proceso para resolver este problemilla (y son unas tripas que huelen mal :P). Por esto trataba de obtener información adicional, por si podía evitarme tener que entrar a ver como elimino esta redirección...
  #6 (permalink)  
Antiguo 08/11/2007, 08:59
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 19 años, 6 meses
Puntos: 10
Re: Problema con boton Atras y Meta Refresh en IE

zor, lo olvidaba, con javascript tienes otra opción que es el objeto history ... puedes usar el método back() que te regresa a la página anterior en el historial o el método go() al que le pasas como parámetro algún índice en el historial ya sea positivo (para avanzar) o negativo (para regresar).

Entonces, podrías remplazar esto:
Cita:
<a href="file://C:\temp\redireccion.htm">link</a>
por esto:
Código HTML:
<a href="javascript:history.back();">atras</a> 
o si te quieres ir atrás en el historial digamos 3 páginas:
Código HTML:
<a href="javascript:history.go( -3 );">atras</a> 
Espero que sea útil, suerte con eso
  #7 (permalink)  
Antiguo 25/01/2008, 16:11
Avatar de Covids0020  
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: Problema con boton Atras y Meta Refresh en IE

No me gusta reabrir mensajes antiguos pero es que creo que estas cosas no deberían de quedarse así, por si alguien llega nuevo y coge estas malas costumbres ^^

La forma correcta (o más correcta que la que se ve) de usar es ésta:
Código HTML:
<a href="P&aacute;gina a donde ir" title="Vuelve atr&aacute;s" 
onclick="history.back(); return false;" 
onkeypress="history.back(); return false;">Atr&aacute;s</a> 
Y sus diversas posibilidades.

Tenemos así un enlace que funciona incluso sin JavaScript, semántico y accesible.

Un saludo y sorry :(
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org
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 22:42.