クロスドキュメントメッセージング(クロスドキュメントメッセージング)は、異なるドメインからのページ間でメッセージを通過させ、XDMと呼びます。インラインフレームc2x.test.comドメインを設置ページページwww.test.com通信ドメイン。
メッセージ受信者のメッセージ文字列フィールドに配置されるコアは、パラメータは、XDMのpostMessage(dataString、原点)です。
iframeWindow = document.querySelector( "#のiframe1"聞かせて.contentWindow)。 聞かせてBTN = document.querySelector( "#のBTN" ); btn.addEventListener( "クリック" 機能(E){ iframeWindow.postMessage( "ハローXDM"、 "http://www.c2x.test.com" ); }、偽)。 window.addEventListener( "メッセージ" 機能(E){ にconsole.log(E) にconsole.log(e.data); }、偽)。
あなたはウィンドウオブジェクトをトリガするメッセージイベントを受け取るXDMメッセージ
三つの重要な情報が含まれているメッセージのイベントオブジェクト:
データ:メッセージ文字列
文書は、メッセージを送信するためにドメイン:起源
ソース:ドキュメントウィンドウ内のプロキシオブジェクトがメッセージを送信します
window.addEventListener( "メッセージ" 機能(E){ IF(e.origin == "http://www.c2x.test.com" ){ にconsole.log(E) にconsole.log(e.data) ; document.querySelector( "#testDiv")innerHTMLプロパティ=。e.data; e.source.postMessageは( "受信"、 "http://www.test.com" ); //元のウィンドウにメッセージを返し、あなたがすることはできません } }、falseに)。
クロスドキュメントメッセージングストリングメッセージのみ送信することができるので、所望のデータ転送構造、JSON.stringify()変換を使用する必要があり、その後、()で逆JSON.parseに変換されたメッセージを受信した後。