我不知道该怎么办。我尝试了来自不同来源的几个示例代码,并在不同的浏览器(从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>

非常感谢帮助,非常感谢

最佳答案

postMessage的第二个参数必须是类似于http://localhost的网址

关于javascript - javascript postMessage不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6411762/

10-12 03:21