pagina dinamico contents content actualizar abrir jquery iframe

dinamico - jquery iframe content html



ActivaciĆ³n de un evento jQuery desde iframe (3)

Aquí está el escenario, tengo eventos sucediendo desde dentro de un iframe y hasta ahora todo está funcionando bien. Me encontré con el problema en el que quiero enviar un evento del iframe al padre.

Estoy usando esto para activar el evento desde el iframe:

$(''body'', window.parent.document).trigger(''eventName''); //and I''ve also tried $(window.parent.document).find(''body'').trigger(''eventName'');

Y luego, en la página principal, he escuchado el evento de esta manera:

$(''body'').bind(''eventName'', myFunction)

Sé que la secuencia de comandos llega al activador porque puse un console.log antes y después del desencadenador. El iframe está en el mismo dominio, por lo que no hay problema allí.

Puedo llamar a una función en la página principal directamente así: window.parent.functionName pero me preguntaba si esto es posible con el uso de una solución basada en eventos.

Resuelto

La respuesta de @cwolves funciona muy bien:

parent.$(''body'').trigger( ''eventName'' );


Entonces este será el código que vive en su iFrame:

$(''#myElem'').click(function() { window.parent.success_msg(); });

Y este código debe estar en la ventana principal:

window.success_msg = function() { // Your code goes here };

También debe ejecutar esto en un servidor, ya sea localhost o alojado.


Pruebe esto en el código iframe js

var parentWin = $( window.parent.document.body ); jQuery.event.trigger(''eventName'', parentWin.data(), parentWin );


Si tiene jQuery cargado en el cuadro principal, intente:

parent.$(''body'').trigger( ''eventName'' );

Si no, intente esto, no estoy seguro de si funcionará, pero solo miré la fuente jQuery y creo que puede:

var pBody = $( parent.document.body ); pBody.trigger( ''eventName'', pBody.data() );

(Y haga lo mismo al vincular eventName ) El problema, hasta donde puedo decir, es que jQuery está usando los datos de la página local, lo que está causando problemas porque parece que está tratando de cargar datos desde el otro marco. En otras palabras, es un desastre, pero hay parámetros de data aceptados en .bind , .trigger , etc.