2

主窗口正在接收来自嵌套在其中的 iframe 的消息。

window.addEventListener("message", function(e){
 alert(e.data);
}, true);

我如何知道消息来自哪个 DOM 元素?问题是我在文档中有几个,它们都来自同一个域,但与主窗口不同的域。

4

1 回答 1

2

在消息传递代码(可能还有其他代码)的 Firefox 实现中,事件对象具有您可以检查的“uri”和“domain”属性,以及引用原始window对象的“source”属性。

window.addEventListener("message", function(e){
    var frames = window.frames;
    for (var i = 0; i < frames.length; ++i)
        if (frames[i] === e.source) {
            // found it ...
        }
}
于 2011-05-18T21:50:35.317 回答