主窗口正在接收来自嵌套在其中的iframe的消息。
window.addEventListener("message", function(e){
alert(e.data);
}, true);
我怎么知道消息来自哪个DOM元素?问题是我在文档中有几个,所有这些都来自同一个域,但主窗口不同。
答案 0 :(得分:1)
在消息传递代码的Firefox实现中(可能还有其他),事件对象具有" uri"和"域名"您可以检查的属性,以及"来源"引用原始window
对象的属性。
window.addEventListener("message", function(e){
var frames = window.frames;
for (var i = 0; i < frames.length; ++i)
if (frames[i] === e.source) {
// found it ...
}
}