我在iframe A中有iframe B,如下所示:
<iframe id="receiver">
<script>
top.getElementById("sender").addEventListener('message' receiveMessage, false);
function receiveMesage(evt)
{
do something
}
</script>
<iframe id="sender" src="SenderHtml">
</iframe>
在SenderHtml中我有:
<script>
top.postMessage("data, '*');
</script>
首先,我似乎无法使其正常工作。 但更重要的是,iframe“receiver”可以位于包含更多数据的页面中,如何确保没有其他人能够捕获发送给它的数据?我无法控制其页面中的其余数据。我可以告诉SenderHtml中的脚本只能通过id发送到“收件人”框架吗? 另一个方面是2页在不同的域中。 感谢
答案 0 :(得分:0)
我最后找到了答案。 问题是iframe中有代码,这是一个错误。 我添加了另一个重定向,它解决了问题(所有都在相应的html文件的正文中):
OuterFrame.html:
<iframe id="receiver" src="Listener.html">
Listener.html:
<script type="text/javascript">
window.addEventListener('message', receiveMessage, false);
function receiveMessage(evt)
{
alert("got message: " + evt.data);
}
</script>
<iframe id="sender" src="Sender.html"></iframe>
Sender.Html:
<script>
parent.postMessage("data, '*');
</script>