| Por: Miguel Angel Alvarez | 28/11/01
|
window.open("p.html","nom","width=200,height=500")
En ese ejemplo el segundo parámetro es "nom" y es el nombre que le damos a la ventana para referirnos a ella con HTML. Con esa referencia, podríamos hacer un enlace que actualice el contenido del popup indicándolo con el atributo target:
<a href="pagina.html" target="nom">Enlace<a>
| Por: Miguel Angel Alvarez | 28/11/01
|
Para ello utilizamos la variable que retorna el método window.open() al abrir el popup.
Para guardar esa variable haríamos esto:
mi_popup = window.open("p.html","nom","width=200,height=500")
Esa variable es un sinónimo del objeto window del popup, así que para cambiar el color de fondo del popup haríamos así:
mi_popup.document.bgColor = "red"
| Por: Gustavo Karcher | 04/7/02
|
Respuesta
Opener no es un método, es un atributo del objeto window. Salvo esa corrección, tu pregunta es interesante:
Para conseguir cerrar la ventana padre desde la ventana hija ejecutaríamos esta sentencia:
window.opener.close()
Que no es más que una llamada al método close() del objeto window de la ventana padre... lo que cerraría la ventana padre.
Una consideración interesante es saber que si la ventana padre -o la que deseemos cerrar con el método close()- no se abrió con javascript, antes de que se cierre la ventana se preguntará al visitante si desea realmente cerrarla con una caja de confirmación.
| Por: Gustavo Karcher | 08/7/02
|
| Por: Jose | 06/9/02
|
| Por: STC Pimus | 12/9/02
|
Pero yo pienso que esto lo desarrollaron asi los de Microsoft porque algo tienen entre manos, tal vez descubrieron un bug y al no poderlo arreglar mejor lo machetearon con alguna cosa como esa estupida ventana.
Nota de redacción
Yo creo que esto lo hacen por temas de seguridad en los scripts de Javascript. A mi me parece lógico que pregunten al usuario si desea que javascript cierre la ventana con la que está navegando, por mucho que se haya abierto otra ventana a tamaño completo, que generalmente no sirve para continuar la navegación con libertad porque no suele tener los menús, barra de direcciones, etc.
| Por: Belen | 13/9/02
|
RESPUESTA
La cosa se complica con los marcos o frames. Realmente la página que tiene el enlace con "opener" (la ventana padre) es la declaración de frames. Para acceder a la declaración de frames escribe "parent". Da igual, si no entiendes nada, prueba esto:
window.parent.opener.location
| Por: Juan Albero Mateo | 23/2/03
|
| Por: Paulina | 17/9/03
|
| Por: GoVeM | 30/1/04
|
| Por: Fernando Cuadrado | 25/2/04
|
| Por: Luis | 21/2/05
|
| Por: Sargento Chinicuil | 15/3/05
|
| Por: cristian | 26/8/05
|
| Por: erik | 05/9/05
|
| Por: Francisco | 15/9/05
|
| Por: Laura | 27/9/05
|
| Por: Claudia | 04/8/06
|
| Por: Ignacio | 19/1/07
|