28

どうすればいいのかわからない。さまざまなソースからいくつかのサンプル コードを試し、さまざまなブラウザー (Chrome 9 から FF 4 まで) で試してみましたが、「postMessage」機能ではまだ何も動作していないようです。JS コンソールは、単一のエラーではなく、何も提供していません。まだ何も起こっていません。フレームは通信したくありません。まったく。そして、これはクロスドメインでもありません。両方のフレームが私のドメインからのものです。

前回の試行のサンプル コードを次に示します。 親フレーム :

<iframe src="IFRAME_URL"></iframe>
<script>
    window.addEventListener( "message",
      function (e) {
            if(e.origin !== 'DOMAIN'){ return; } 
            alert(e.data);
      },
      false);
</script>

子フレーム :

<html>
<head></head>
<body>
    <script>
        top.postMessage('hello', 'DOMAIN');
    </script>
</body>

どうもありがとうございました

4

4 に答える 4

21

あなたの2番目のパラメータは、次のpostMessageようなURLでなければなりませんhttp://localhost

于 2011-06-20T13:46:58.697 に答える
1

セキュリティ上の懸念についてはよくわかりませんが、通常、次のように親ウィンドウの場所を取得します。

var url = (window.location != window.parent.location) ? document.referrer: document.location;
top.postMessage('message', url);
于 2013-10-30T20:52:07.750 に答える