Llamar a la función de JavaScript desde otro marco presente en un iFrame

Tengo un iFrame en mi página HTML iFrame_Example.html

<iframe src="1.html" height="400" width="400"></iframe>

1.html tiene dos frames en eso

    <frameset rows="30,*" frameborder=0 border=0>
        <frame id="top_frame" name="top_frame"src="top_frame.htm"></frame>
        <frame id="main_frame" name="main_frame"src="main_frame.htm"></frame>
    </frameset>

Ahora en top_frame.htm Tengo un botón

<input type="button" value="Hi" onClick="top.main_frame.SayHi()">

SayHi() es en main_frame.htm

function SayHi()
{
  alert("Hi");
}

Cuando corro 1.html en el navegador, la función SayHi() se llama correctamente. Pero cuando corro iFrame_Example.html no funciona.

¿Cómo llamo a la función con el evento onClick? Cualquier ayuda sería muy apreciada.

preguntado el 22 de mayo de 12 a las 15:05

¡Guau! no he visto un <frameset> etiqueta en años. -

@Rocket A mi cliente le encanta :( -

Lo siento. ¿No puedes simplemente decirle al cliente que está equivocado? (Sé que no puedes jajaja) -

El cliente nunca se equivoca. Período. -

Dígale a su cliente que los marcos fueron parte de los 90 -

1 Respuestas

¿Has probado frames.top_frame.SayHi()?

Actualizar: Creo que puedes necesitar parent.frames.top_frame.SayHi()

contestado el 22 de mayo de 12 a las 15:05

¿Qué pasa cuando lo pruebas? - Río vivian

frames.main_frame is undefined - inclinación

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.