我正在尝试实现一些 iframe 通信。我在 http://parent.com 上托管了以下页面:
<html>
<iframe id="iframe1" src="http://child.com"/>
<iframe id="iframe2" src="http://child.com"/>
<iframe id="iframe3" src="http://child.com"/>
</html>
我正在尝试使用 postMessage 使 iframe1 和 iframe2 之间的通信成为可能,但我似乎找不到如何实现。
这是我在子 iframe 中的代码:
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent, function(event) {
event.source.postMessage("somerandomdata", "http://child.com)
}, false);
提前致谢!
最佳答案
您是否考虑过使用cross-document messaging .
父窗口:
myIframe.contentWindow.postMessage('hello', '*');
子 iframe:
window.onmessage = function(e){
if (e.data == 'hello') {
alert('It works!');
}
};
关于javascript - iframe 子级与多个 iframe 的父级通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43898756/