2017-06-11 8 views
3

私はこのドキュメントから見てきました:https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage、データをiframeに正しく渡す方法。しかし、今、私は答えを送りたい:メインページのiframeからメッセージを送信

//from main page 
myIframe.contentWindow.postMessage('send me a response', '*'); 
//from iframe of main page 
window.addEventListener("message", receiveMessage, false); 
    function receiveMessage(event){ 
      alert(event.data);//the value of message 
      //now i need to send an answer 'this is a response' 
    } 
} 

にはどうすればいいのiframeからメインページに解答を送っていますか? 私は本当にこの答えが必要です。

編集:

[OK]を私はすべてのソリューションTYを見つけました。

答えて

2

私はあなたがグローバルwindow.parentに親ウィンドウへのアクセス権を持っているeasyXDM

EasyXDM WebSite

+0

、しかし:

要旨はあるwindow.parent.postMessage()関数は次の引数を取ります私の場合はこのソリューションを使用することはできません。 – User

+0

私は理解しています。したがって、ページとiFrameが同じドメインにある場合、マックスウェルの答えがそのトリックを行う必要があります! –

+0

私はこれを https://github.com/TheInvoker/Duplex-Sandboxed-Iframe-Listener – omega

2

を使用して検討します。

この時点でこのオブジェクトのメソッドをpostMessageに使用するのと同じくらい簡単だと思います。そうですね、

var parent = window.parent; 
parent.postMessage("some message"); 

完全な例はhereです。私はソケットを使用していない、しかし、私は別の必要性を持っていた場合、それは良い解決策になる方法を好むだろうotherWindow.postMessage(message, targetOrigin, [transfer]);

+0

同じメッセージを逆に使用することをおすすめしますが、私の答えでは、それは '未定義です':しかし明らかにそれは動作します – User

関連する問題