Ver Mensaje Individual
  #18 (permalink)  
Antiguo 07/01/2009, 09:27
makeitslow
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: evitar volver atras

Mil disculpas por darle vueltas tanto al tema, es que esa "funcionalidad" de no poder volver atras en las paginas de mi sistema era mas que nada para no tener que controlar mucho el tema de los frames que utilizo. Es que no se por que algunos cuando hago "volver atras" no se actualizan y me muestra en algunos frames la tipica pantalla de "no se puede mostrar la pagina". Ademas el usuario no necesita para nada ir atras, para eso tiene links y botones. Ademas que controlo la reinsersion de datos en caso de regresar a un formulario...

Creo que para evitar que mis frames me muestren el mensaje ese, frames que estan siempre presentes en tooodas las paginas mientras navego, voy a abrir el sistema en una pagina sin toolbar, menubar y demas... y evitar que se pueda apretar el boton derecho del mouse..

De todos modos estuve viendo estas opciones si a alguien le sirve para evitar ir atras:


OPCION 1:

Código HTML:
<script language="JavaScript">
<!--
  javascript:window.history.forward(1);
//-->
</script> 
Este script va en la pagina que no queremos que regrese, habria que ponerlo en toooodas las paginas, ya que si se hace 2 veces "atras" pues se salta la ejecucion del script.


OPCIONES 2:

Código HTML:
<html>
<head>
  <meta http-equiv="Expires" CONTENT="0">
  <meta http-equiv="Cache-Control" CONTENT="no-cache">
  <meta http-equiv="Pragma" CONTENT="no-cache">
</head>

o tambien:

<%
  Response.Buffer = True
  Response.ExpiresAbsolute = Now() - 1
  Response.Expires = 0
  Response.CacheControl = "no-cache"
%> 
Estas evitan que la pagina deseada no se cargue en la cache y no pueda ser mostrada cuando se regresa atras.



OPCION 3

Código HTML:
window.history.forward(1);
Este manejo tambien va en la ventana que no queremos regresar, pero igual se puede saltar con 2 "atras" y tendria que utilizarse en todas las paginas que se desea evitar regresar.


OPCION 4

Código HTML:
if (!(document.referrer)) {....}
Este condicional verifica que donde nos encontramos tenga ningun valor, lo que significa que se presiono back o forward. Tiene problemas con la primera y segunda pagina cargadas al inicio, en cuanto al back y forward. Es muy relativa su correctitud.


OPCION 5

Código PHP:
<body onload="Javascript:history.go(1);" onunload="Javascript:history.go(1);"
Al igual que los scripts tiene que estar en tooooodas la paginas que deseamos que no regresen.


y por ultimo


OPCION 6

Código:
<SCRIPT LANGUAGE="JAVASCRIPT">

var x="1";

var isBack;

function handleBackButton(){

isBack = (x != document._mine._a1.value);

document._mine._a1.value=2;

document._mine._a1.defaultValue=2;

if(isBack)

location.href="./pagina.aspx"

}

</SCRIPT>

Se tendria que ejecutar siempre al cargar la página:

<BODY ONLOAD="handleBackButton()">

Y que hace uso de:

<form name="_mine">

<INPUT type=hidden id="_a1" NAME="_a1" VALUE="1" STYLE="VISIBILITY:hidden">

</form>
Este codigo esta en ASP y sirve para agarrar la accion de que se apreto ATRAS y cuando se hace dicha accion se dirige a una pagina especifica.

Gracias a todos!