Foros del Web » Programando para Internet » Javascript »

Ventana sigue abierta???

Estas en el tema de Ventana sigue abierta??? en el foro de Javascript en Foros del Web. Buenas, a ver si me podeis echar 1 cable... Tengo el siguiente código en la ventana A que me abre la ventana B: <script> //Si ...
  #1 (permalink)  
Antiguo 23/04/2004, 11:18
 
Fecha de Ingreso: marzo-2004
Mensajes: 36
Antigüedad: 20 años, 2 meses
Puntos: 0
Ventana sigue abierta???

Buenas,

a ver si me podeis echar 1 cable...

Tengo el siguiente código en la ventana A que me abre la ventana B:

<script>
//Si la ventana B ya está abierta que me la cierre
if (window.AccesoUsuario)
AccesoUsuario.close();

//Abro la ventana B
AccesoUsuario = window.open('Editar.asp','AccesoUsuario','');
</script>

Este código se utiliza al pinchar en 1 link.

Mi problema es que tengo que recargar la ventana A y si vuelven a pinchar en el link para abrir de nuevo la ventana B (o recargarla si ya está abierta), al haber recargado la página no me hace la comprobación de si B está abierta.

¿Cómo puedo saber si tengo la ventana B abierta desde la ventana A si he recargado la página?

Gracias y salu2
Cepa
__________________
Cepa
  #2 (permalink)  
Antiguo 23/04/2004, 12:14
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Sí que hace la comprobación, lo que pasa es que al recargar la ventana opener (A en tu explicación) la variable AccesoUsuario se pierde. Así que al preguntar si existe te dice que no existe. Pero no porque no exista sino porque la nueva A no sabe que había una B anterior.

Una solución que se me ocurre es cerrar la ventana B (AccesoUsuario) al recargar A, con el consabido onunload. O hacer una cookie donde conste si está abierta o no B.

¿Sería mucho problema?

Ah!! Y bienvenido a los foros!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 23/04/2004 a las 12:16
  #3 (permalink)  
Antiguo 23/04/2004, 13:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
A ver si te sirve esta solución:

a la página que carga en la popup ponle este código

Código:
<script language="JavaScript">
window.onload=function(){
document.cookie="ventana=true"
}
window.onunload=function(){
document.cookie="ventana=false"
}
</script>
Y a la otra (pagina A) ponle esto otro

Código:
<script language="JavaScript">
galleta = document.cookie
cuki = galleta.split(";")
var ventana
for(m=0;m<cuki.length;m++){
	if(cuki[m].indexOf("ventana") != -1){
		if(cuki[m].split("=")[1] == 'true'){
			ventana = true
			alert('está abierta')
			}
		else{
			ventana = false
			alert('está cerrada')
			}
		break;
		}
	else{
		ventana = false
		}
	}
</script>
Se trata de guardar el dato en una cookie de sesión (se pierde en el momento en el que se cierre la ventana del navegador que abra la popup
  #4 (permalink)  
Antiguo 23/04/2004, 13:17
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 9 meses
Puntos: 381
oño cuando comencé a jugar con el tema no estaba la respuesta de KarlanKas (hooolaaa ardusío!! )

La verdad es que la idea de que al unlodearse la página A cierre la B es más práctica....

De todas formas, ahí está una forma de hacerlo con cookies

Última edición por tunait; 26/01/2009 a las 02:46
  #5 (permalink)  
Antiguo 23/04/2004, 16:56
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Hola guapísima!!

Ahora veo tu magnífica respuesta! Si es que tienes un artee...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 04/05/2004, 03:23
 
Fecha de Ingreso: marzo-2004
Mensajes: 36
Antigüedad: 20 años, 2 meses
Puntos: 0
He estado unos días out pero ya veo vuestras respuestas.
Me pongo manos a la obra para ver que tal funcionan.

Muxas gracias a los 2 y salu2 tb
__________________
Cepa
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 13:05.