Foros del Web » Programando para Internet » Javascript »

Abrir una ventana y verificar si ya esta abierta

Estas en el tema de Abrir una ventana y verificar si ya esta abierta en el foro de Javascript en Foros del Web. Ya no se que hacer he buscado en varios lugares y no encuentro nada... incluso en los Faq's y temas de funciones no vi nada ...
  #1 (permalink)  
Antiguo 25/05/2005, 15:21
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
Abrir una ventana y verificar si ya esta abierta

Ya no se que hacer he buscado en varios lugares y no encuentro nada... incluso en los Faq's y temas de funciones no vi nada parecido, tanto en JavaScript como en ASP y llego un momento que el buscador de la pagina me dio un error y despues de varios intentos sin respuesta cree este nuevo tema

Bueno les comento el problema, la idea es que deseo verificar si una pagina ya esta abierta y claro arrojar un mensaje y hacer un focus de la pagina ya abierta... me explico... pagina principal, hay un link que hace lo siguiente:

window.open( url, name, features );

donde url, name y features son variable que almacenan un string, features contiene tanto la ubicacion como las caracteristicas de la pagina y claro esta lo abre en una ventana nueva.

El asunto es que si nuevamento por cualquier motivo abro el mismo link de la pagina principal me abre nuevamente otra ventana con la misma pagina, ya tendria 3 paginas abiertas en las cuales la 2 y 3 son la misma, lo que se quiere es que al darle click nuevamente al vinculo arroje un mensaje y se realice un focus en la pagina que ya esta abierta y no se este repitiendo nuevamente esa pagina.

aqui dejo un link donde explica todas las caracteristicas del windows.open, alli existe algo llamado .closed que no supe como usar... me imagino que alli tengo la solucion... pero trate de usar ese codigo y no entiendo como hacerlo...

http://www.mozilla.org/docs/dom/domr...dow_ref76.html

la pagina originalmente esta en ingles y la traduje con google para tener el link en español.

http://translate.google.com/translat...language_tools

Gracias por la ayuda que me puedan dar.
Er_Duque
  #2 (permalink)  
Antiguo 25/05/2005, 15:46
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Es raro

Algo tienes mal en el nombre de la ventana, mira, prueba esto directo:


//Aqui abres la ventana y le das un nombre
window.open ("paginaX.asp", "Nombre1");

//Vuelve a abrirla
window.open ("paginaY.asp", "Nombre1");

//Te daras cuenta de que esa funcion automaticamente detecta que existe el Pop-Up abierto y envia hacia esa pagina la informacion, entonces algo debe estar mal en el nombre que estas asignando porque te esta abriendo una nueva ventana.

Para verificar, haz algo asi:

alert (nombre); //Esto lo usaras como DEBUG para verificar el nombre.
window.open(url, name, features ); //La llamada normal que siempre hacer.

Lo que quiero decir es que el trabajo de verificar si la ventana existe y hacer el focus en ella se hace automaticamente con window.open.

Bueno, eso seria si entendi bien tu problema.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #3 (permalink)  
Antiguo 25/05/2005, 16:16
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, Er_Duque
Coincido con neuron_376, si el nombre es el mismo debe abrirse en la misma ventana, aunque creo que ésta sigue por detrás, no hace focus()
Yo lo resolví de este modo:

if (!ventanaDestino || ventanaDestino.closed)
{ ventanaDestino = window.open(laUrl)
} else
{ ventanaDestino.focus()
ventanaDestino.location.href=laUrl
}

Donde pone "laUrl" debe poner la dirección que quieres abrir (pagina2.htm, por ej.)
Le puedes poner parámetros al open, el "name" ya no es importante
__________________
Angel :cool:
  #4 (permalink)  
Antiguo 25/05/2005, 16:21
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola

El evento closed puede arrojarte error si la variable nunca fue inicializada como una ventana, por lo tanto, puedes intentar el detalle del focus asi:

win = window.open("MismoNomber")

//a) Si no existia se va a crear
//b) Si ya existia solo va a hacer referencia a la misma ventana.

//Hace un focus.
//a) No existia, sin embargo no marca error ni nada
//b) Existia minimizada, la obligara a mostrarse
win.focus()

Bueno, eso es lo que yo hago, el closed es mas delicado.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #5 (permalink)  
Antiguo 26/05/2005, 06:50
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
Buenos dias y gracias, estoy verificando lo que me indicaron para darles un comentario a ver que esta pasando...

saludos
Er_Duque

Última edición por Er_Duque; 26/05/2005 a las 07:05
  #6 (permalink)  
Antiguo 26/05/2005, 07:04
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
ok gracias ya solucione el problema de la ventana, resulta que este llamado lo tenia dentro de una funcion y nunca le envie el nombre de la ventana, por este motivo el windows.open en la variable name nunca tenia nada, por eso siempre abria una nueva... ahora si lo entendi... por otra parte pasa lo siguiente, en estas ventanas que abro tengo formularios y si estoy haciendo algo en el y le doy click pues me recarga nuevamente la venta... ya lo vi... me imagino que como me dijo angsanchez con esa validacion que esta alli creo solucionar eso... pero cuando lo incluyo en la funcion no me abre el link... voy a seguir intentando a ver, si no puedo solucionar publico la funcion a ver si me ayudan...

gracias...
Er_Duque
  #7 (permalink)  
Antiguo 26/05/2005, 09:08
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hum....

Que bueno que ya quedo, por otra parte si quieres mandarle datos a la ventana principal desde el pop-up, seria con window.opener, lo malo es que tienes que hacer algo para que los datos los mande a la principal, pero bueno, en el Form, puedes hacer esto:

<form name="form1" method="post" action="paginaX.php" target="VentanaPrinciplaNombre">

Asi deberia de funcionar, pero para esto debes de tener un nombre asignado a tu ventana principal, y ese detalle nunca lo he hecho, no se como puedes asignar un nombre a tu ventana principal.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #8 (permalink)  
Antiguo 26/05/2005, 09:12
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
ok... ahora el problema es otro, como comente antes si abro la ventana una vez todo perfecto, inicio a trabajar en mis procesos de la ventana abierta y por cualquier motivo inicio otra actividad en otra ventana y por ejemplo me voy de la maquina y regreso y se me olvida que ya tenia ciertas cosas hechas en mi proceso abierta de hace ya media hora (esto es imaginando lo que puede hacer un usuario) y le doy click nuevamente a el link de la pagina desde mi sistema principal ya no se abre una ventana nueva perfecto, pero ahora se recarga y me anula o borra lo que estoy haciendo cosa que no deberia pasar porque se supone que ya he insertado alguns datos a la base de dato y no puedo iniciar de nuevo... ahora como dijo angsanchez con un codigo que escribio
Cita:
if (!ventanaDestino || ventanaDestino.closed)
{ ventanaDestino = window.open(laUrl)
} else
{ ventanaDestino.focus()
ventanaDestino.location.href=laUrl
}
lo que entiendo de esto en el si es que:
si no se ha cargado ventanadestino O si esta cerrada ventanadestino entonces ejecuto
ventanadestino =windows.open(url);
sino ejecuto
ventanadestino.focus();
ventanadestino.location.href=laUrl;
fin si...

hasta aqui todo bien... el inconveniente ahora es que estoy trabajando en una funcion y la variable ventana(como yo la llame en la funcion) se crea como nueva cada vez que se ejecuta la funcion.
la verdad es que hoy es uno de esos dias que no amaneci con buena mussa.

aqui les dejo la funcion original trabajando perfecta pero refrescando los datos cada vez que se realiza el vinculo:
Código:
function centerPopUp( url, width, height, scrollbars, nombre ) { 
	var yes		= 1; 
	var no		= 0; 
	var name        = nombre;
	var menubar     = no;  // The File, Edit, View Menus 
	var scrollbars  = yes; // Horizontal and vertical scrollbars 
	var locationbar = no;  // The location box with the site URL 
	var directories = no;  // the "What's New", "What Cool" links 
	var resizable   = no;  // Can the window be resized? 
	var statusbar   = no;  // Status bar (with "Document: Done") 
	var toolbar     = no;  // Back, Forward, Home, Stop toolbar 
	if ( window.screen ) { 
		var ah = screen.availHeight - 30; 
		var aw = screen.availWidth - 10; 
		var xc = ( aw - width ) / 2; 
		var yc = ( ah - height ) / 2; 
		var left = "" + xc + ",screenX=" + xc; 
		var top = "" + yc + ",screenY=" + yc; 
	} 
	features = "" + 
		"width=" + width + "," + 
		"height=" + height + "," + 
		",top=" + top + "," + 
		"left=" + left + ""; 
	features += "" + 
		(menubar ? ",menubars" : "") + 
		(scrollbars ? ",scrollbars" : "") + 
		(locationbar ? ",location" : "") + 
		(directories ? ",directories" : "") + 
		(resizable ? ",resizable" : "") + 
		(statusbar ? ",status" : "") + 
		(toolbar ? ",toolbar" : ""); 
	window.open( url, name, features );
}
la ejecucion o llamado:
Código:
<a href=javascript:centerPopUp('estados.asp',800,600,'estados')>Estados</a>
ok ahora aqui les dejo lo que estoy tratando de hacer... y de verdad no me da para solucionarlo... no se uqe trampa inventarme o simplemente que hacer distinto...
Código:
function centerPopUp( url, width, height, nombre ) { 
	var yes		= 1; 
	var no		= 0; 
	var menubar     = no;   // The File, Edit, View Menus 
	var scrollbars  = yes;  // Horizontal and vertical scrollbars 
	var locationbar = no;   // The location box with the site URL 
	var directories = no;   // the "What's New", "What Cool" links 
	var resizable   = no;   // Can the window be resized? 
	var statusbar   = no;   // Status bar (with "Document: Done") 
	var toolbar     = no;   // Back, Forward, Home, Stop toolbar 
	var name        = nombre; //Nombre de la ventana
	var ventana; 

	if (!ventana || ventana.closed){ 
		if ( window.screen ) { 
			var ah = screen.availHeight - 30; 
			var aw = screen.availWidth - 10; 
			var xc = ( aw - width ) / 2; 
			var yc = ( ah - height ) / 2; 
			var left = "" + xc + ",screenX=" + xc; 
			var top = "" + yc + ",screenY=" + yc; 
		} 
		features = "" + 
			"width=" + width + "," + 
			"height=" + height + "," + 
			",top=" + top + "," + 
			"left=" + left + ""; 
		features += "" + 
			(menubar ? ",menubars" : "") + 
			(scrollbars ? ",scrollbars" : "") + 
			(locationbar ? ",location" : "") + 
			(directories ? ",directories" : "") + 
			(resizable ? ",resizable" : "") + 
			(statusbar ? ",status" : "") + 
			(toolbar ? ",toolbar" : ""); 
		ventana = window.open( url, name, features );
		alert("Entro en True");
	}else{
		ventana.focus();
		ventana.location.href=url;
		alert("Entro en False");
	}
}
cuando este codigo se ejecuta nunca llega a entrar a el false por lo que dije anteriormente que la variable ventana se crea cada vez que se ejecuta la funcion... y no se, lo que se me ocurre es tener esa variable ventana por referencia en la funcion pero tampoco se como manejarla... es solo una idea, la verdad no se me ocurre mas nada...

Gracias por la ayuda
Er_Duque

NOTA: tambien hay que tomar en cuenta que esa funcion es llamada desde la pagina principal que mencione, y alli hay un menu que tiene varios links que se pueden abrir simultaneamente (como esta todo ahora se puede hacer) esto es solo a modo de conocimiento.

OJO: esta funcion centerpopup la encontre en internet de hecho encontre dos o tres y las unifique en una sola, de esa union quedo con lo que estoy trabajando, no soy el propietario original de dicha funcion.
  #9 (permalink)  
Antiguo 26/05/2005, 09:34
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola!

Bueno, no lo acostumbro, pero no se como explicarlo, entonces te paso el codigo que alguna vez desarrolle porque tambien tuve el mismo problema y lo tuve que investigar a fondo:

Código HTML:
<script type="text/javascript">
/* Ejemplo: */
	//               [       URL              ],[ Nombre ]
	
	/*
	
	w1 = window.open("http://liga","winX","");
	w2 = window.open("","winX","");
	
	*/
	
//Lo que hace aquí es que, primero abre la ventana, después hace un open a la ventana con w2, pero sin pasar nada
//en el campo de URL, entonces, lo que pasa es que obtenemos un apuntador hacia la ventana, con el cual podemos
//manipular la ventana en caso de que exista.

/* Lo que necesitamos */

//1. Abrir una ventana tipo w2, asegurandonos que no afecta las propiedades de la ventana.

	wx = window.open("","winX","");

//2. Verificar que la ventana este abierta. Esto lo haremos chacando una variable de inicialización que contenga la
//   pagina que estamos abriendo.

	if (!(isNaN(wx.Activa)))
	{
		alert('La ventana ya esta abierta, entonces haremos solamente un Focus.');

		//2.1 Hacer un focus solamente, porque la ventana estaba abierta antes.
		wx.focus();
	}
	else
	{
		alert('La ventana no se habia abierto antes, entonces debemos abrir una nueva.');
		
		//2.2 Abrir la ventana porque la ventana no estaba abierta antes.
		wx = window.open("liga","winX","");
		wx.focus();
	}
</script>

Si te fijas, ahi verifico una variable que debe de existir creada en la pagina que estas abriendo, algo como:

paginaEnelPopuP.htm

<script>

var Activa = 1

</script>

Cuando en el PopUp realmente existe la pagina abierta esa variable existe, y cuando no, esa variable no va a existir entonces sabes facilmente si estaba abierta o cerrada.

Bueno, espero que te sirva, ese es el metodo que utilizo para esa deteccion, te escribi solo mi borrador, pero ya con eso puedes hacer lo que necesites.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #10 (permalink)  
Antiguo 26/05/2005, 09:36
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
gracias Neuron por tu respuesta... la verdad es que creo que me voy a enedar mas si me meto con un form hay... tendrias que ver la pagina completa para que digas "eso definitivamente es una locura" jejeje bueno asi pienso segun lo que entendi de tu ultimo comentario... aqui me di cuenta de algunas cosas...

Cita:
Iniciado por Er_Duque
Código:
		ventana = window.open( url, name, features );
		alert("Entro en True");
	}else{
		ventana.focus();
		ventana.location.href=url;
		alert("Entro en False");
	}
}
ok me estoy dando cuenta que si elimino esta linea y en caso que este if funcionara haria el focus sin recargar la pagina, claroa esta que podria hacer algo mas, trabajo de esta manera:
Código:
function centerPopUp( url, width, height, scrollbars, nombre ) { 
	var yes		= 1; 
	var no		= 0; 
	var menubar     = no;  // The File, Edit, View Menus 
	var scrollbars  = yes; // Horizontal and vertical scrollbars 
	var locationbar = no;  // The location box with the site URL 
	var directories = no;  // the "What's New", "What Cool" links 
	var resizable   = no;  // Can the window be resized? 
	var statusbar   = no;  // Status bar (with "Document: Done") 
	var toolbar     = no;  // Back, Forward, Home, Stop toolbar 
	var name        = nombre;
	var ventana;

	if ( window.screen ) { 
		var ah = screen.availHeight - 30; 
		var aw = screen.availWidth - 10; 
		var xc = ( aw - width ) / 2; 
		var yc = ( ah - height ) / 2; 
		var left = "" + xc + ",screenX=" + xc; 
		var top = "" + yc + ",screenY=" + yc; 
	} 
	features = "" + 
		"width=" + width + "," + 
		"height=" + height + "," + 
		",top=" + top + "," + 
		"left=" + left + ""; 
	features += "" + 
		(menubar ? ",menubars" : "") + 
		(scrollbars ? ",scrollbars" : "") + 
		(locationbar ? ",location" : "") + 
		(directories ? ",directories" : "") + 
		(resizable ? ",resizable" : "") + 
		(statusbar ? ",status" : "") + 
		(toolbar ? ",toolbar" : ""); 
	ventana = window.open( url, name, features );
	ventana.focus();
}
me funcionaria parcialmente lo que deseo hacer, pero tendria que programar mas y hacer validaciones para mantener lo que estaba haciendo el usuario en una tabla temporal de la base de datos o algo asi... pero de verdad quisiera encontrar la forma de hacer eso... debe existir algo que ni idea de que pueda ser...
  #11 (permalink)  
Antiguo 26/05/2005, 09:39
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola!

Lee mi post justo arriba, creo que no lo leiste.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #12 (permalink)  
Antiguo 26/05/2005, 09:48
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
Cita:
Iniciado por Neuron_376
Si te fijas, ahi verifico una variable que debe de existir creada en la pagina que estas abriendo, algo como:
paginaEnelPopuP.htm
<script>
var Activa = 1
</script>
Cuando en el PopUp realmente existe la pagina abierta esa variable existe, y cuando no, esa variable no va a existir entonces sabes facilmente si estaba abierta o cerrada.
Bueno, espero que te sirva, ese es el metodo que utilizo para esa deteccion, te escribi solo mi borrador, pero ya con eso puedes hacer lo que necesites.
Suerte!!
Gracias Neuron, esto en realidad es lo que me faltaba... ya se que puedo crear variables en una pagina por medio de un script y usarlas en otra pagina... eso es algo que no sabia y esta algo interesante...

de nuevo muchas Gracias por tu ayuda.
no me habia dado cuenta que tenias una respuesta antes de publicar mi mensaje anterior...

saludos
  #13 (permalink)  
Antiguo 26/05/2005, 15:10
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
siguen los problemas...

nuevamente yo aqui... ya el problema de abrir las paginas y que se duplicaran esta solucionado, ahora sigo con el caso para mantener los datos actuales sin refrescar o recargar la pagina... la verdad es que ya he adelantado otras cosas para ver si se me aclaraban las ideas al respecto de ete problema, pero lo retome y ya no doy mas, aqui esta el codigo, tengo varios alert para verificar que esta pasando, en el codigo voy a comentar lo que pasa:

Código:
function centerPopUp( url, width, height, nombre ) { 
	var yes	= 1; 
	var no	= 0; 
	var menubar     = no;	// The File, Edit, View Menus 
	var scrollbars  = yes;	// Horizontal and vertical scrollbars 
	var locationbar = no;	// The location box with the site URL 
	var directories = no;	// the "What's New", "What Cool" links 
	var resizable   = no;	// Can the window be resized? 
	var statusbar   = no;	// Status bar (with "Document: Done") 
	var toolbar     = no;	// Back, Forward, Home, Stop toolbar 
	var name        = nombre;	//Nombre de la ventana
	var ventana; 
	ventana = window.open("",name,"");
	//alert("window.open(vacio,name,vacio) ya fue realizado");
	alert(ventana.NaN + "   antes del if");
	//HASTA AQUI TODO BIEN EN LA PRIMERA VEZ
	//DESPUES DE LA PRIMERA VEZ AL MOMENTO DE IMPRIMIR
 	//ESTE ALERT NUNCA LO EJECUTA Y NUNCA ENTRA A EL IF, CLARO
 	//ESTA TAMPOCO HACE EL FOCUS()
	if (!(isNaN(ventana.Activa))){
		//ESTE NUNCA SE EJECUTA
		alert("La opcion ya fue abierta.");
		ventana.focus();
	}else{
		//FUNCIONA BIEN LA PRIMERA VEZ, PASA POR EL IF Y
		//EJECUTA ESTE CODIGO, MONTA LA PAGINA PERFECTA.
		alert("Abriendo pagina por primera vez");
		if ( window.screen ) { 
			var ah = screen.availHeight - 30; 
			var aw = screen.availWidth - 10; 
			var xc = ( aw - width ) / 2; 
			var yc = ( ah - height ) / 2; 
			var left = "" + xc + ",screenX=" + xc; 
			var top = "" + yc + ",screenY=" + yc; 
		} 
		features = "" + 
			"width=" + width + "," + 
			"height=" + height + "," + 
			"top=" + top + "," + 
			"left=" + left + ""; 
		features += "" + 
			(menubar ? ",menubars" : "") + 
			(scrollbars ? ",scrollbars" : "") + 
			(locationbar ? ",location" : "") + 
			(directories ? ",directories" : "") + 
			(resizable ? ",resizable" : "") + 
			(statusbar ? ",status" : "") + 
			(toolbar ? ",toolbar" : ""); 
		ventana.close();//NO SE PORQUE PERO SIN ESTA LINEA
		//NO CARGA LOS FEATURES Y MONTA LA PAGINA CON
		//TODAS LAS BARRAS Y DEMAS
		ventana = window.open(url,name,features);
		ventana.focus();
	}
}
ya voy saliendo de mi trabajo en lo que llegue a mi casa me conecto para ver que puedo hacer desde alla...

Saludos.
Gracias Nuevamente
  #14 (permalink)  
Antiguo 26/05/2005, 15:27
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Ok,

En tu pagina tienes la variable Activa creada ?

Por otra parte:

ventana.NaN no es algo valido, eso no existe.

Lo que veo mal es esa linea, y tambien que en tu pop-up debe de existir la variable Activa = 1 para funcionar correctamente.

Por ejemplo: tu pagina se llama pagina1.php

Entonces url = "pagina1.php"

Entonces, en el codigo de "pagina1.php" debes tener declarada la variable Activa = 1, algo como:

<?
/*PHP codigo*/
?>
<script languaje="javascript">
var Activa = 1;
</script>

Asi, cuando el popup existe la parte de

isNaN(ventana.Activa), encuentra que la ventana esta abierta porque encuentra esa variable declarada.

Espero haberme explicado.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #15 (permalink)  
Antiguo 26/05/2005, 17:58
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
si amigo Neuron... ya lo tenia asi, y me daba el mismo error, despues estaba leyendo en una pagina: http://www.devguru.com/Technologies/...ckref/nan.html sore NaN y pense en probarlo a ver uno nuca sabe, de todas formas en la pagina popup ya tengo lo siguiente:
<script languaje="javascript">
var Activa = 1;
</script>
tal cual como lo muestras... por otra parte ya cambie lo que es isNaN(ventana.Activa) y no me funciona tampoco... creeme que lo he hecho de todas formas...
y esta ultima fue una remota esperanza... bueno gracias por tu tiempo Neuron... si tienes tiempo de probar este codigo avisame... ya este error me tiene algo verde jejeje
  #16 (permalink)  
Antiguo 26/05/2005, 18:14
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola!

Todo se mira como si estuviera bien, lo unico que se me ocurre es que pruebes que el nombre de la ventana es exactamente el mismo:

Código HTML:
function centerPopUp( url, width, height, nombre ) { 
	var yes	= 1; 
	var no	= 0; 
	var menubar     = no;	// The File, Edit, View Menus 
	var scrollbars  = yes;	// Horizontal and vertical scrollbars 
	var locationbar = no;	// The location box with the site URL 
	var directories = no;	// the "What's New", "What Cool" links 
	var resizable   = no;	// Can the window be resized? 
	var statusbar   = no;	// Status bar (with "Document: Done") 
	var toolbar     = no;	// Back, Forward, Home, Stop toolbar 
	var name        = nombre;	//Nombre de la ventana
	var ventana; 
	ventana = window.open("",name,"");
        
             //Comprobar que el nombre de la ventana es exactamente el mismo.
             alert (nombre);
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #17 (permalink)  
Antiguo 26/05/2005, 18:44
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
si es el mismo... estoy comprobando en estos momento y resulta que aqui me funciona perfecto...
y hoy he estado toda la tarde en mi trabajo dandole a esto... aqui simplemente con instalar lo necesario para correr el sistema funciono sin novedad...
me imprime sin novedad que la opcion ya fue abierta y hace el focus...
por cierto el codigo es el que publique... en el alert donde esta ventana.NaN imprime NaN...
y le coloco isNaN(ventana.Active) e imprime true...
ya se que el problema es algo de configuracion de la maquina de mi trabajo...
mañana verifico eso...

Gracias Neutron por tu tiempo y por la info...

Saludos
Er_Duque
  #18 (permalink)  
Antiguo 26/05/2005, 21:35
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola

Se ve que ya andas cansado "Nutron", jajajaja, bueno, solo para aclarar, es probable que estas funciones pertenezcan a javascript 2, entonces por eso el problema original.

Pero no estoy completamente seguro.

Bay.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #19 (permalink)  
Antiguo 27/05/2005, 06:39
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
Estimado amigo Neuron jejeje hoy ya descanse algo... pero no entendi eso de JavaScript 2... como puedo actualizar mi javascript? el hecho es que el problema original persiste y sigo con el fallo tanto aqui en mi trabajo como en mi casa que ayer funciono perfectamente, despues que respondi el mensaje fui a comer y cuando regrese estaba probando y ya no funciono... la maquina no cambio en nada...las paginas las habia cerrado y cuando las abri nuevamente nada... no entra a el if... alli se queda... ahora lo que se me ocurre es usar un depurador de javascript pero ni idea, si sabes de algo...

a parte tengo que seguir desarrollando otras asi asi que voy a dejar un poco a un lado esta complicacion que en realidad es algo controlable... ya por lo menos no refresca y queda abierta la pagina, asi como esta me sirve momentaneamente, la idea es que funcione bien...
bueno sigo con mis otras cosas y pendiente a ver si encuentro o encuentran alguna solucion...

saludos
Er_Duque
  #20 (permalink)  
Antiguo 27/05/2005, 09:19
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
Cada vez entiendo menos...

como dije antes ya sigo con otras cosas... me estoy leyendo un manual de JavaScript: http://www.htmlpoint.com/javascript/corso/js_23.htm y husto en ese link hace referencia a la verificacion de una variable de un popup... que ironico... el hecho es que da un ejemplo y aplica con la explicacion que me dio Neuron, a diferencia de el la comparacion la hacen cun null o undefine pues cambien mi codigo con ambos ejemplos y sigue igual... este fin en algun tiempo libre vere si me siento con calma a ver que mas se puede analizar de algun otro manual o algo asi... ahora si voy a adelantar otras cosas...
Saludos y gracias por su ayuda y la que me puedan seguir dando
__________________
Er_Duque
  #21 (permalink)  
Antiguo 27/05/2005, 09:28
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola

Raro, raro, raro, fijate que nunca he sabido como actualizar el motor de JavaScript por separado, pero puedes bajarte la ultima version de tu navegador junto con las ultimas actualizaciones y seguro que funciona bien.

Ese script yo lo estoy aplicando y no he tenido problemas, como te dije lo desarrolle porque lo necesitaba, pero sera interesante saber que puede estar pasando, tal vez es problema de compatibilidad entre navegadores, otra cosa que se me ocurre mas sencilla es esta:

en popup.htm:

<script>
window.focus();
</script>

Es decir, agregale esa parte, es posible que cuando hagas una llamada al pop-up ese codigo se active y te traiga la pantalla.

Pero bueno, como tu dices, por lo menos lo mas importante ya esta, mientras puedas mantener la info en el popup, etc, pues esta bien.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #22 (permalink)  
Antiguo 27/05/2005, 09:39
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años
Puntos: 0
Gracias nuevamente Neuron, como dije estaba leyendo el manual, y alli explica basado en Netsacape e Internet Explorer 3 y 4 hasta el 5 pero este ya es basado en Jscript o DHTML y el navegador que estoy usando es IE 6.0.29xxxxxxx sp2xxx y bueno dejame instalar firefox a ver si me funciona igual...
ya intente con el windows.focus(); y negativo es como si existiere un break o algo asi... y lo extraño es que lo probe en mi maquina anoche y funciono por un momento despues negativo... intento con firefox y a ver que encuentro despues...

Salduos
__________________
Er_Duque
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 11:16.