2

トップページ:

...
<script>
if (window.addEventListener) {
 // addEventListener equivalent of code below
} else if (window.attachEvent) {
 window.attachEvent("message", function(e) {
  if (e.origin != "page2.html") { return; }
  alert(e.data);
 });
}
</script>

<iframe src="page2.html"></iframe>

page2.html:

<script>
var message = "hello!";
parent.postMessage(message, '*');
</script>

このコードは、Chrome、Firefox、および Opera で正常に動作します。もちろん、IE には独自の方法があるため、独自の .xml を使用しているにもかかわらず、このコードは機能しません.attachEvent

page2.html は、実際には別のドメインのページです。正しい P3P ヘッダーを送信しています (関係ないはずですが、それがあります)。

postMessage親ページに到達していないように見える理由を調べるにはどうすればよいですか?

4

1 に答える 1

11

attachEvent(これは を使用します)とは"onmessage"対照的に、そのイベント名は の形式で取得されます。addEventListener"message"

于 2013-02-06T20:47:15.923 に答える