Acceder a hijos de un iframe desde el padre de este

publicado por: Anonymous

Tengo una web la cual carga un iframe determinado, según el usuario quiera acceder a una sección u otra a través del menú del padre de este iframe.

Para que todo funcione tengo que acceder a los elementos de dicho iframe desde el padre. El problema es que aunque ambos están en el mismo dominio (actualmente solo he probado en local) no puedo acceder al iframe. La manera en que accedo actualmente es invocando a funciones del padre, las cuales asignan lo que reciben como argumento a variables globales también declaradas en el padre.

¿Alguien puede ayudarme?

solución

Aunque los iframes estan desuso por ser una mala practica, puedes llamar funciones desde el padre de la siguiente manera.

Supongamos que tienes asignado el id < iframe id="myIframe"> al iframe del cual necesitas acceder a una funcion definidad dentro de el llamada digamos por ejemplo myDummyFunction():

En javascript limpio sin ningun añadido para llamar dicha funcion seria:

 document.getElementById('myIframe').contentWindow.myDummyFunction();

Si conoces el orden del Iframe tambien puedes hacerlo de la siguiente manera:

// suponiendo que es el primer iframe.
window.frames[0].frameElement.contentWindow.myDummyFunction(); 

por ultimo con JQuery seria así:

$("#myIframe")[0].contentWindow.myDummyFunction();

Espero que te sirva aunque la recomendación es que uses iframes lo menos posibles o directamente no los uses siempre hay una forma mejor y mas limpia que usarlos.
Saludos

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *