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