Foros del Web » Programando para Internet » Javascript »

Cerrar ventana

Estas en el tema de Cerrar ventana en el foro de Javascript en Foros del Web. Hola, stoy haciendo una pequeña aplicación, en la cuál tengo varias .jsp, pero las cuáles se van abriendo sin mantener información de la pàgina anterior.Lo ...
  #1 (permalink)  
Antiguo 10/05/2009, 13:03
Avatar de neferet  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga
Mensajes: 8
Antigüedad: 15 años, 4 meses
Puntos: 0
Cerrar ventana

Hola, stoy haciendo una pequeña aplicación, en la cuál tengo varias .jsp, pero las cuáles se van abriendo sin mantener información de la pàgina anterior.Lo q qiero hacer es:

Q cuando pulso en un botón q yama a una función, en la cuál saco un mensaje de alerta, se vea esta y despues se cierre la página sin redireccionar ni nada simplemente que se me cierre.

He probado con window.close();

function laqsea(){
if(){
....
window.close();
}else{

}

}


Pero no funciona

tambien he probado a hacer
var ventana=window.self;
ventana.opener=window.self;
ventana.close();

Tampoco funciona

A ver si podeis hecharme una mano

Gracias de antemano
  #2 (permalink)  
Antiguo 10/05/2009, 13:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cerrar ventana

a ver si entiendo. tu quieres que el visitante navege sin tener la posibilidad de retroceder. si es el caso, puedes utilizar la funcion location.replace(path) y olvidarte de cerrar la ventana. cerrar la ventana no tiene nada util porque javascript no puede cerrar ventanas que no ha abierto.
  #3 (permalink)  
Antiguo 10/05/2009, 13:27
Avatar de neferet  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga
Mensajes: 8
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Cerrar ventana

Gracias por responder tan rapido

Soy nueva usando javascript. No se lo q hace location.replace(path) en el jsp q te digo, tiene varios botones, por eje. atras pero este lo q te hace es cerrar la ventana en la q stoy, otro de los botones lo q hace es contar el tpo q sta un usuario en el jsp y si ha pasao 2minutos sin hacer nada y pulsa un boton el cual tiene asociada una funcion dentro de esta cierre la ventana pq el tpo ha expirado


NO se si me e explicao mejor
  #4 (permalink)  
Antiguo 10/05/2009, 13:41
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cerrar ventana

ahora entiendo la situacion. en todo caso window.close no te funcionara, como ya habia mencionado javascript no puede cerrar ventanas que no ha abierto. no hay nada que se pueda hacer respecto a eso. pienso lo mejor que puedes hacer es trabajar con sessiones en jsp. cuando ese tiempo expire, el usuario es redireccionado a otra pagina, digamos a la de login o inicio. lamento no poder ayudarte en esta parte porque solo conozco javascript.

nota: por favor, en una proxima ocacion escribe palabras completas. me costo trabajo entenderte.
  #5 (permalink)  
Antiguo 10/05/2009, 14:00
Avatar de neferet  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga
Mensajes: 8
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Cerrar ventana

Gracias por tu respuesta, a veces se me olvida y abrevio mucho
  #6 (permalink)  
Antiguo 10/05/2009, 14:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cerrar ventana

he aqui un ejemplo en javascript, aunque a mi juicio no me agrada:
Código javascript:
Ver original
  1. setTimeout(function(){
  2. location.href = 'URL';
  3. }, 120000); // 2min * 60seg * 1000mili seg;
la redireccion ocurre en dos minutos independientemente de lo que el usuario este realizando. no me agrada por el hecho de ser una redireccion forzada. es molestoso para el usuario porque puede ser que este haciendo algo tranquilo y de momento en dos minutos se interrumpe su actividad.

la otra alternativa es declarar una variable que contenga el tiempo de expiracion y tener una funcion que compare el tiempo acutal y el tiempo de expiracion. si el tiempo actual es mayor que el tiempo de expiracion significa que ya caduco. esta funcion la llamaras en aquellas funciones que el usuario hara click. la ventaja es que no interrumpe la actividad del usuario hasta cuando este realmente haga algo (como dar un click en un boton). sin embargo, considero que el problema es que tendras que poner esta funcion en todos los posibles botones, enlaces u otros elementos en que tu consideres que debe verificarse la expiracion.

Código javascript:
Ver original
  1. var expire = new Date();
  2. expire.setMinutes(expire.getMinutes() + 2);
  3.  
  4. function checkExpirity(){
  5. if(expire < new Date())location.href = 'URL';
  6. }


-- edit:
me olvide mencionar algo importante. ninguna de estas alternativas son soluciones reales. el usuario simplemente puede inhabilitar javascript y no hay nada que se pueda hacer respecto a la expiracion. o bien una vez redireccionado el usuario puede dar back en el navegador y volvera a su contenido anterior. de ahi que trabajar con sessiones es la mejor alternativa.

Última edición por zerokilled; 10/05/2009 a las 14:32
  #7 (permalink)  
Antiguo 10/05/2009, 14:27
Avatar de neferet  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga
Mensajes: 8
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Cerrar ventana

Gracias zerokilled, yo habia hecho algo parecido pero algo mas lioso, voy a probarlo aunque lo que me trae de cabeza es eso de tener que cerrar la ventana.

La verdad es que la pagina que estoy haciendo tiene pocos botones, 3, y es en solo uno donde tengo que qomprobar que no han pasado los 2 minutos y si han pasado que se cierre la ventana, que no se como lo voy a hacer.

En otro de los botones solo se usa para cerrar la ventana:

He hecho esto

<td class="botones"><a href="javascript:window.close()"><img src="./images/bot_atras.gif" width="55" height="50" border="0" align="absmiddle"/></a> Atrás</td>

Y esto si me funciona en internet explorer pero no en firefox

Gracias
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 12:36.