Claro, fíjate
<frameset rows="80,*" frameborder="yes" border="1" framespacing="1"
onload="document.cookie='miOpener=abierta'" onunload="document.cookie='miOpener=cerrada'">
Con eso, cuando se cargue, pone variable a 'abierta' y cuando se descarga la pone a 'cerrada'.
Si se actualiza no importa porque al cargar la vuelve a poner en 'abierta'. Sólo quedará en 'cerrada' si no hay un nuevo load (osea, al cerrarse o al irse a otro sitio)
La cookie es de sesión única y "vive" sólo dentro esa ventana y sus 'hijas' (incluyendo la popup). De hecho ni siquiera la puedes ver en temporales, pues no se escribe, la guarda el navegador en memoria (vendría a ser como una variable de sesión, pero que se guarda en el navegador y sólo en la ventana que la creó).
Eso si, al pedirle la cookie el navegador la reune con las que estén escritas en temporales (aunque en temporales no puedas verla escrita) por eso en la popup necesitarás un script que la busque entre las otras y le averigüe el valor.
En tu popup puedes poner este script:
Código PHP:
<script language="javascript">
function leer(){
miOpener = document.cookie
miOpener=miOpener.split(";")
for(m=0;m<miOpener.length;m++)
{
if(miOpener[m].substring(0,9)=="miOpener=")
{
miOpener=miOpener[m].split("=")
miOpener=miOpener[1]
break
}
}
return miOpener
}
</script>
Así desde la popup cuando necesites ver el valor de la variable de la cookie no tienes más que llamar a esa función.
Y yá. Esto, más lo que te comenté en el frameset.
Hecha un
vistazo de nuevo al enlace que te dejé.
Ahora en la popup tienes para ver la cookie (entera, que te muestra lo que hay, y si hubieran mas variables también te las mostraría) y debajo otro para ver sólo el valor de la variable de la cookie (que te mostrará siempre el valor de esa variable, ignorando el resto de cosas que pudieras tener ahí guardadas)