我正在尝试在祖父和孙子iframe之间进行交流。
如果是一级(父母-子女),我可以发送:
孩子=>父母:
window.parent.postMessage("message", "*");
父母=>子女:
iframe.contentWindow.postMessage(message, "*");
问题是当祖父和孙子之间的关系如何处理。
我尝试使用window.parent.parent
,但是它不起作用。
我想也许写一些代理代码,这些代码将添加到中间iframe中并传递消息,但是也许还有另一个更好的解决方案?
答案 0 :(得分:0)
我最终添加了一些代理脚本。
并且还添加到每个消息的“发件人”键
<script>
var father = 'aaa';
var child = 'bbb';
var proxyIframe;
document.addEventListener('DOMContentLoaded', function(event) {
proxyIframe = document.getElementById('proxyIframe');
});
window.addEventListener("message", function(e) {
if (e.data) {
if (e.data.sender === father) {
proxyIframe.contentWindow && proxyIframe.contentWindow.postMessage(e.data, "*");
} else if (e.data.sender === child) {
window.parent.postMessage(e.data, "*");
}
}
}, false);
</script>
希望它可以帮助任何人