Cerrar ventana

Tengo una pag. Web ("gracias.htm") que me abre una ventana sin toolbar, max., min. La nueva ventana llama a otra página. Llamada ("control.htm"). Mi pregunta es: ¿Cómo puedo cerrar la ventana desde la página gracias.htm (me parece que le dicen ventana padre) a través de un Javascript?. Lo único que logré fue cerra la ventana desde ella misma con window. Close().
El código Javascript de la página "gracias.htm" que ocupo para abrir la ventana es el siguiente:
<SCRIPT>
ventana = open("/control.htm", "", "width=" + screen.width + ",height="+ screen.height + ",fullscreen=yes");
</SCRIPT>
Otra consulta: ¿Se pueden activar más de una función en el OnLoad? ¿Y con el OnUnload? Cómo se debe hacer (si es que se puede).

3 Respuestas

Respuesta
1
Para cerrar la ventana que has abierto desde la ventana padre, también debes utilizar el método close(), pero indicando QUE ventana es la que quieres cerrar.
Si pones window. Close() esas diciendo que lo que quieres es cerrar la ventana actual, perotu lo que quieres es cerrar otra ventana, o sea, nombreVentana. Close()
El nombre de la ventana que quieres cerrar es el que le hayas dicho tu cuando la abriste.
<SCRIPT>
ventana = open("/control.htm", "", "width=" + screen.width + ",height="+ screen.height + ",fullscreen=yes");
</SCRIPT>
En este ejemplo que me mandaste, tu has puesto el nombre "ventana" a la ventana.
nombre = open(bla, bla, bla . . .)
O sea, que lo que tienes que hacer es poner ventana. Close() y la ventana se cerrara.
Sobre lo de poner varias funciones en el onLoad y el onunload, claro que puedes, solo tiens que epararlas con punto y coma:
Ejemplo
onLoad="funcion1(); funcion2(), funcion3()"
Respuesta
1
Lo primero que comentas es fácil, desde la padre haces un...
<nombre_ventana>.close();
en tu caso
ventana.close();
Si quisieras cerrar la padre desde la hija harias...
window.opener.close();
Para lo que dices hay varias soluciones, la mejor para mi gusto es que llames a una funcion que crees y que haga varias cosas entre ellas lanzar las funciones que desees, algo asi;
<script>
function inicializar() {
calcular();
contar();
loquesea();
}
</script>
<body onload="inicializar()">
</body>
Otra cosa, no es recomendable usar el onUnload es un evento un poco extraño que en ciertos casos no se activa...
Respuesta
1
Solo puedo responder la ultima pregunta
Para poner varios eventos OnLoad, los separas con un punto y coma (;) nada más que eso, pero no repetís la palabra OnLoad, que va una sola vez
Nos vemos y lamento no haber podido contestar la otra pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas