JavaScript - Ejecutar función desde otro frame.

   
Vista:

Ejecutar función desde otro frame.

Publicado por Douglas Pérez (2 intervenciones) el 13/06/2008 17:10:11
Hola buenos días, tengo un frameset planteado en un sitio web, el frame está compuesto de dos rows (una pequeña para el encabezado y otra grande para con contenido). esta última del contenido a su vez está dividida en dos columnas (una pequeña a la izquierda para un menú con imágenes rollover y uno grande para el contenido donde se visualizan todas las páginas del site). El asunto es que para ahorrar código y evitar colocar el menú en cada página, en el frame de la izquierda (donde está el menú) hice un script para que me haga el rollover de las imágenes indicando el módulo donde me encuentro y que la grande del contenido me muestre el contenido de ese módulo. Ahora, cuando hago click en alguna de las imágenes del menú ese módulo que presioné se pone una imágen particular indicando al usuario q está ahí, pero, el problema se presenta cuando llamo a alguna de las páginas de otro módulo no desde el mismo menú sino desde algún link dentro de la página de contenido..ahí debería cambiarse de forma automática la imágen de acuerdo al módulo que corresponda, pero el link que lleva está dentro del frame grande no sé cómo hacer para que se ejecute esa la función javascript en la página del menú y me cambie la imágen...ya que se me queda cambiada solo la última que le hice click...La idea es ejecutar la función de un frame1 desde un frame2, pero no solo llamarla, sino que sus efectos (cambiar la imágen) se realice en el frame1. Anexo acá el código del frameset como ayuda:

<html>
<head>
<TITLE>Application</TITLE>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</head>
<frameset border="0" frameSpacing="0" rows="85,100%" frameBorder="0">
<frame name="banner" src="access_top.aspx" noResize scrolling="no">
<frameset id="Contain" cols="120,100%">
<frame name="contents" id="contents" src="access_menu.aspx">
<frame name="main" src="access.aspx?Come=1">
</frameset>
<noframes>
<pre id="p2"></pre>
<p id="p1"></p>
</noframes>
</frameset>
</html>

La página que tiene el menú es "access_menu.aspx" (esa es la que tiene la función) y la que debe llamar a ea función y hacer que se ejecute en "access_menu.aspx" es la que se llama "access.aspx"

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejecutar función desde otro frame.

Publicado por weirdmix (185 intervenciones) el 13/06/2008 19:31:36
la sintaxis de javascript es:

parent.frames["contents"].funcionJavascript();

esto desde cualquier frame si quisieras ejecutar una funcion de javascript dentro del frame "contents"

intentalo y me avisas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutar función desde otro frame.

Publicado por Douglas Pérez (2 intervenciones) el 13/06/2008 22:23:49
Funcionó a la perfección, muchísimas gracias. El único detalle es que tuve que cambiar las comillas por apóstrofe....finalmente me quedó así:

parent.frames['contents'].funcionJavascript();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar