Ventanas javascript

Hola,
estoy haciendo una pagina web y necesito comunicar algunas de mis ventanas. Te explico un poco la situacion. Tengo una pagina con tres frames, cuando pulso un boton desde un frame se abre con window.open una ventana nueva, lo que yo quiero es que esta ventana nueva despues se comunique con mi parte del frame anterior que la ha abierto. Es decir, desde esta nueva ventana cuando pulse un boton entonces llamar a una funcion que tengo definida en el frame anterior que ha abierto la ventana. ¿Es esto posible?
He encontrado ejemplos de comunicaciones de ventanas pero lo que hacen es cambiar propiedades de la ventana que se abre pero nunca cambia propiedades de la ventana que abre a la otra y menos si contiene frames.
Muchas gracias.
Un saludo.
1

1 Respuesta

16.575 pts.
Javascript posee una serie de propiedades de los objetos, me explico, puedes usar la Herencia entre elementos, es decir;
en tu caso la ventana que has abierto se puede referir sin problemas a la que la abrio mediante WINDOW.OPENER, por tanto, imagina que en la página de frames tienes una funcion llamada PantallaInicial, y la nueva ventana (es recomendable que la nombres al abrirla) haces una llamada a esa funcion mediante;
window.opener.PantallaInicial();
De la misma manera puedes incluso intercambiar informacion entre campos de ventanas distintas siempre que tengan una relacion...
Te pongo un ejemplo... lo que hace es construir una ventana desde una pantalla y transferir datos de esa ventana a la actual, me parece que puede servirte
function Clasificar()
{
<!-- Javascript para mostrar una ventana modal con datos de categoria de Busqueda para Wapsites -->
busqueda = window.open("","busqueda","height=300,width=400,resizable=no")
window.busqueda.document.writeln("<html><head><title>Datos Busqueda</title>");
window.busqueda.document.writeln("<script language='javascript'>");
<!-- Funcion que recoge los valores del formulario y los pasa a pantalla -->
window.busqueda.document.writeln("function recoge ()");
window.busqueda.document.writeln("{");
window.busqueda.document.writeln("C1.value= window.opener.document.Data.V1_1_1.value");
window.busqueda.document.writeln("C2.value= window.opener.document.Data.V1_2_1.value");
window.busqueda.document.writeln("C3.value = window.opener.document.Data.V1_3_1.value");
window.busqueda.document.writeln("C4.value = window.opener.document.Data.V1_8_1.value");
window.busqueda.document.writeln("P1.value = window.opener.document.Data.Pal1.value");
window.busqueda.document.writeln("P2.value = window.opener.document.Data.Pal2.value");
window.busqueda.document.writeln("P3.value = window.opener.document.Data.Pal3.value");
window.busqueda.document.writeln("}");
<!-- Funcion que deposita los valores de vuelta al formulario -->
window.busqueda.document.writeln("function transfiere ()");
window.busqueda.document.writeln("{");
window.busqueda.document.writeln("window.opener.document.Data.V1_1_1.value = C1.value");
window.busqueda.document.writeln("window.opener.document.Data.V1_2_1.value = C2.value");
window.busqueda.document.writeln("window.opener.document.Data.V1_3_1.value = C3.value");
window.busqueda.document.writeln("window.opener.document.Data.V1_4_1.value = P1.value + '#@#' + P2.value + '#*#' + P3.value");
window.busqueda.document.writeln("window.opener.document.Data.V1_8_1.value = C4.value");
window.busqueda.document.writeln("window.opener.document.Data.Pal1.value = P1.value");
window.busqueda.document.writeln("window.opener.document.Data.Pal2.value = P2.value ");
window.busqueda.document.writeln("window.opener.document.Data.Pal3.value = P3.value");
window.busqueda.document.writeln("window.close()");
window.busqueda.document.writeln("}");
window.busqueda.document.writeln("function controlcaract(maxLength){");
window.busqueda.document.writeln("if (C4.value.length > maxLength-2)");
window.busqueda.document.writeln("{alert('Ha superado el limite. Recuerde que dispone de ' + maxLength + ' caracteres');");
window.busqueda.document.writeln("C4.value = C4.value.substring(0,maxLength-1);}");
window.busqueda.document.writeln("}");
window.busqueda.document.writeln("</sc" + "ript></head>");
window.busqueda.document.writeln("<body onload='recoge()'>");
window.busqueda.document.writeln("<table align='center'><tr><td><table border='0' align='center' bgcolor='0000cc'><tr>");
window.busqueda.document.writeln("<td align='center'><font color='#ffffff'><b>Titulo:</b></font></td></tr><tr></tr><tr></tr><tr>");
window.busqueda.document.writeln("<td align='center'><font color='#ffffff'><b>Categoria:</b></font></td></tr><tr></tr><tr></tr><tr>");
window.busqueda.document.writeln("<td align='center'><font color='#ffffff'><b>Subcategoria:</b></font></td></tr><tr></tr><tr></tr><tr>");
window.busqueda.document.writeln("<td align='center'><font color='#ffffff'><b>Palabra clave:</b></font></td></tr><tr></tr><tr></tr><tr>");
window.busqueda.document.writeln("<td align='center'><font color='#ffffff'><b>Palabra clave:</b></font></td></tr><tr></tr><tr></tr><tr>");
window.busqueda.document.writeln("<td align='middle'><font color='#ffffff'><b>Palabra clave:</b></font></td></tr><tr></tr><tr></tr><tr>");
window.busqueda.document.writeln("<td align='center'><font color='#ffffff'><b>Description:</b></font></td></tr><tr></tr><tr></tr></table>");
window.busqueda.document.writeln("</td><td><table align='center' bgcolor='white'><tr>");
window.busqueda.document.writeln("<td colspan='2'><input type='text' name='C1' maxlength='15'/></td></tr><tr>");
<!-- Option list de Categorias -->
window.busqueda.document.writeln("<td colspan='2'><select name='C2'><option selected>Seleccione una categoria</option>");
window.busqueda.document.writeln("<option value='Arte'>Arte</option>");
window.busqueda.document.writeln("<option value='Cultura'>Cultura</option>");
window.busqueda.document.writeln("<option value='Ciencia'>Ciencia</option>");
window.busqueda.document.writeln("<option value='Deportes'>Deportes</option>");
window.busqueda.document.writeln("<option value='Educacion'>Educacion</option>");
window.busqueda.document.writeln("<option value='Negocio'>Negocio</option>");
window.busqueda.document.writeln("<option value='Ocio'>Ocio</option>");
window.busqueda.document.writeln("<option value='Tecnologia'>Tecnologia</option>");
window.busqueda.document.writeln("<option value='Turismo'>Turismo</option>");
window.busqueda.document.writeln("<option value='Sociedad'>Sociedad</option></select></td></tr><tr>");
<!-- Resto de campos -->
window.busqueda.document.writeln("<td colspan='2' bgcolor='white'><input type='text' name='C3'/></td></tr><tr>");
window.busqueda.document.writeln("<td colspan='2' bgcolor='white'><input type='text' name='P1'/></td></tr><tr>");
window.busqueda.document.writeln("<td colspan='2' bgcolor='white'><input type='text' name='P2'/></td></tr><tr>");
window.busqueda.document.writeln("<td colspan='2' bgcolor='white'><input type='text' name='P3'/></td></tr><tr>");
window.busqueda.document.writeln("<td colspan='2' bgcolor='white'><textarea cols='22' rows='2' name='C4' onKeypress='controlcaract(44)'></textarea></td></tr></table>");
window.busqueda.document.writeln("</td></tr><tr><td colspan='2'><table align='center'><tr></tr><tr>");
window.busqueda.document.writeln("<td colspan='2' align='center'><input type='button' value='Clasificar URL' name='Clasificar URL' onclick='transfiere()'/></td>");
window.busqueda.document.writeln("<td align='center'><input type='button' value='Cancelar' name='Cancelar' onclick='window.close()'/></td></tr></table>");
window.busqueda.document.writeln("</td></tr></table></body></html>");
window.busqueda.document.close();
<!-- Fin de modificacion 23/05/2001 -->
}
Puedes encontrar información muy Util en;
http://www.webreference.com/js/
(Seccion WINDOWS)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas