Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/05/2005, 09:12
Er_Duque
 
Fecha de Ingreso: abril-2005
Mensajes: 92
Antigüedad: 19 años, 1 mes
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.