buenas,
Cita:
Iniciado por emprear 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>