PDA

Ver la Versión Completa : Impedir regreso pagina


rex
16-07-2008, 20:55:29
Que tal. Tengo una aplicacion web (servlets) a la cual en las ventanas para impedir los regresos o avances de pagina utilizo en popup y quito la barra de herramientas del explorer, me di cuenta que presionando la tecla de Retroceso la pagina se regresa a la anterior y pierdo algunas validaciones que hago, como puedo impedir esto con java??

rodrigo19
19-07-2008, 20:02:46
Tal vez te pueda ayudar un HttpSession en el cual puedes guardar el estado de las validaciones que has echo para el cliente y en cada servlet verificas el estado para ver si puede ver esa pagina, sino la puede ver lo redireccionas a la que estaba.

rex
20-07-2008, 06:15:18
Puede ser una opción, voy a tratar con esto. Pero habrá una forma de que no ocurra ninguna acción si presiona la tecla retroceso?

rodrigo19
21-07-2008, 21:59:57
Otra opcion que podrias tener es usar javascript, y con esto hacer una funcion que averigue que tecla presiono el cliente; si es la tecla de retroceso lo redireccionas a la misme página. Es lo q se me ocurre por el momento. Espero que te ayude de algo:)

rex
23-07-2008, 19:37:07
Gracias rodrigo tienes algun link de referencia en donde pueda checar alguna funcion javascript que me sirva de guia?

rodrigo19
24-07-2008, 00:01:46
En este link hay una función que te puede ayudar

http://www.mygnet.net/foros/javascriptyjs/como_saber_la_tecla_que_presionaste_con_javascript.3363

rex
24-07-2008, 16:20:41
Muchas Gracias

rex
24-07-2008, 19:35:53
Me sirvio la función, pero resulta que no lo estoy podiendo redirecionar a la misma pagina que estaba, tal vez lo estoy haciendo mal:

function onTecla(e,url,tar)
{ var num = e?e.keyCode:event.keyCode;
if (num == 8){
document.forms[0].Pagina.value="1";
document.forms[0].target=tar;
document.forms[0].action=url;
document.forms[0].submit();
}
else{
alert('valor ascii: ' + num);
}
}

rodrigo19
25-07-2008, 01:41:58
tal vez te sirva de la siguiente manera ya que no lo he probado.

function onTecla(e,url,tar)
{
var num = e?e.keyCode:event.keyCode;
var pagina = "http://pagina a la que redireccionas";
if (num == 8){
document.location.href=pagina;
}
else{
alert('valor ascii: ' + num);
}
}

rex
28-07-2008, 17:26:50
Pues no, no resulto, la acción del retroseso persiste, yo creo que voy a tener que manipularlo con la sesión.

jovanna_sanchez
29-07-2008, 20:32:24
<script>
function cerrarse(){
window.close()
}
javascript:window.history.forward(1);
</script>