Bloquear retorno a ventana madre

Tengo un problemilla al bloquear una página sin antes cerrar la ventana hija, es que al crear una ventana hija desde código de una página principal, debe cerrarse la ventana hija creada para poder acceder de nuevo a la ventana principal. ¿Cómo hago eso?.
Otra duda más, he estado probando limpiar el contenido de una ventana hija con el comando window.clear pero no me funciona este es el código que estoy empleando para tal caso:
var propiedades = 'menubar=no,width=500,height=400,resizable=no,scrollbars=yes';
var ventana = window.open("","MsgWindow",propiedades);
ventana.document.clear();
var codigo = '<HTML><HEAD><TITLE>Mi Web</TITLE>';
codigo += '</HEAD><BODY><B>';
codigo += '<H1><CENTER>Hola</CENTER></H1>';
codigo += '<form><center>';
codigo += '<input type=button value=Cerrar onClick="window.close(self);">';
codigo += '</center></form></BODY></HTML>';
ventana.document.write(codigo);
Pero cada vez que abro esta ventana hija, se adiciona lo que debería ir en una ventana nueva.

1 Respuesta

Respuesta
1
Yo lo haría con un modalDialog. Estas son un tipo especial de ventanas que cuando aparecen detienen la ejecución de la página madre y hasta que la cierras no puedes seguir con la madre.
Ejemplo:
var obj=3;// un objeto cualquiera
var modalString="dialogHeight:585 px; dialogWidth:550 px; dialogTop: "+this.top+"; dialogLeft: "+this.left+";edge: Raised; center: Yes; help: No; resizable: yes; status: yes;" // carateristicas de la ventana
var valor=window.showModalDialog("pagina.html" ,obj ,modalString);
Así se te abrirá página.html con los atributos de modalString y pasándole obj como parámetro.
En página.html...
parametro=window.dialogArguments;// metes el parametro en una variable de la pagina.
y...
returnValue=lo_que_sea;// es el valor que se retorna a la pagina madre.
Espero que te ayude, aunque tal vez no lo necesites todo.
Puedes encontrar más información buscando "modalDialog" en google.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas