Ver Mensaje Individual
  #11 (permalink)  
Antiguo 15/01/2012, 20:10
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Cerrar popup y refrescar ventana principal

buenas,
Cita:
Iniciado por emprear Ver Mensaje
No vas a poder con 2 popup, al cerrase el primero, ya no queda nada que vincule a la página principal con el 2º popup.
puede que ya no venga al caso. aunque bien no he leido todo tema, queria comentar algo al respecto. se puede vincular una ventana descendiente de la principal sin importar el nivel profundo de la "generación". el único requisito es que el ancestro [la ventana principal] tenga declarado un nombre. luego, desde uno de los descendiente recreas el objeto Window con self.open indicando en el segundo parámetro el nombre de uno de sus ancestro o incluso hermanos. lo mismo se puede hacer al reverso, el "abuelo" (ventana principal) puede recrear el objeto Window de uno de sus "nietos" (ventanas descendientes o secundarias) indicando el nombre en self.open aunque algunos de los intermediarios hayan "muerto" (cerraron la ventana).

el siguiente ejemplo es un script que crea tres descendientes, cada uno a partir de la ventana creada. para crear la ventana haces click en cualquier parte. para vincular la ventana con el acestro presiona el botón. las ventanas Father y Son puedes cerrarla, Child seguira teniendo comunicación con Grand. funciona en chrome y firefox, en iexplorer no he comprobado.

nota: debes nombrar el documento como "ancestor.html"
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!-- saved from url=(0014)about:internet -->
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Relinking the lost family</title></head>

<body>
<h1>Relinking family</h1>
<p>Click anywhere to open next child. <input type="button" value="Relink with Grand" id="relink"> </p>
<script type="text/javascript">
var relation = ["Grand", "Father", "Son", "Child"], next = Number(location.search[1]) || 0;
if(!location.search) self.name = relation[next];
document.title = relation[next++] +" - "+ document.title;

self.onclick = function(){
if(relation[next]) self.open("ancestor.html?"+next, relation[next]);
self.onclick = null;
};

document.getElementById("relink").onclick = function(){
var grand = self.open(null, "Grand"), p = grand.document.createElement("p");
grand.document.body.appendChild(p);
p.innerHTML = self.name +" relinked with "+ grand.name;
	this.onclick = function(){
	var p = grand.document.createElement("p");
	grand.document.body.appendChild(p);
	p.innerHTML = self.name +" is already linked with "+ grand.name;
	};
};
</script>
</body></html> 
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.