2017-04-14 12 views
1

postMessageメソッドを使用して、親サイトからiframe(別のドメインにある)にHTMLIFrameElementオブジェクトを渡す際に問題が発生しました。投稿メッセージをHTMLIFrameElementに投稿するには?

これは、私はすでに試した私のコードです:

var frame = document.getElementById('myHTMLIFrameElement'); 
frame = JSON.parse(JSON.stringify(frame)); 
event.source.postMessage(frame, "*"); 

残念ながら、JSON.parse/JSON.stringifyHTMLIFrameElementオブジェクトを処理する正しい方法ではないようです。 HTMLIFrameElementオブジェクトを正しく渡す方法をアドバイスできますか?

答えて

0

JSONとしてDOM要素を解析することは、私が知る限り有用なことは何も行いません。 postMessage()はウィンドウオブジェクトの一部なので、iframeのcontentWindowプロパティの下にあるフレームのウィンドウオブジェクトを使用できます。私は何かを理解していないです場合

window.addEventListener('message', function(event) { 
    // handle message 
}); 
+0

申し訳ありませんが、「yourMessageは、」あなたの例では何ですのiframe内のスクリプトで、その後

var frame = document.getElementById('myHTMLIFrameElement'); frame.contentWindow.postMessage("stuffYouWantToSendToTheIframe", '*'); 

そして:

だからあなたのような何かを試みることができます? – Peter

+0

iframeに送信するメッセージは、コードには表示されないためです。 – Shilly

+0

実際のiframe DOMノードを3番目のiframeに送信しようとしていますか?それはおそらく全く機能しません。 – Shilly

関連する問題