/ / Come attivare l'evento dalla finestra in alto a iframe? - javascript, jquery, eventi

Come attivare l'evento dalla finestra in alto a iframe? - javascript, jquery, eventi

So che posso attivare l'evento solo in una finestra. Ma ho provato così: Nella finestra in alto ho scritto:

jQuery("#some-popup").trigger("opened-popup");

E in iframe ho scritto:

$("#some-popup", window.parent.document).bind("opened-popup", function () {
alert("ok");
});

Che cosa sto facendo di sbagliato?

risposte:

2 per risposta № 1

Prova questo nel tuo frame:

invece di

$("#some-popup", window.parent.document).bind("opened-popup", function () {
alert("ok");
});

Fai questo

parent.$("#some-popup", window.parent.document).bind("opened-popup", function () {
alert("ok");
});

Ci sono due istanze di jQuery sul posto, unoper il genitore e uno per il telaio. Stai licenziando l'evento sul jQuery di un genitore, ma legandolo ad esso all'interno del jQuery del frame: se si collega al jQuery del genitore in child, il binding (o .on ()) dovrebbe funzionare.

EDIT: potresti non aver bisogno di "window.parent.document" su bind dopo averlo collegato all'evento del genitore.


0 per risposta № 2

Se vuoi evitare "problemi" con accessibilità / visibilità tra windows / iframe ti suggerirei easyXDM

easyXDM è una libreria Javascript che ti permettecome sviluppatore di facilmente aggirare la limitazione imposta dalla stessa origine Politica, a sua volta, semplificando la comunicazione e l'esposizione di javascript API oltre i confini del dominio.