Javascript 如何使HTML iFrame相互通信?

Javascript 如何使HTML iFrame相互通信?,javascript,html,iframe,Javascript,Html,Iframe,如何使HTML iFrame相互通信?所以我有两个iFrame,我知道并创建了它们的内容。我需要让tham彼此交谈——例如,一个人向另一个人发送XML数据,或者从中调用JS函数。这可能只是一个起点,但提出了一个演示,说明如何使用ajax实现这一点。此方法要求每个帧都具有这些函数 function acceptXml(xml) { // Process XML } function sendXml(frameName, xml) { var frame = window.pare

如何使HTML iFrame相互通信?所以我有两个iFrame,我知道并创建了它们的内容。我需要让tham彼此交谈——例如,一个人向另一个人发送XML数据,或者从中调用JS函数。

这可能只是一个起点,但提出了一个演示,说明如何使用ajax实现这一点。

此方法要求每个帧都具有这些函数

function acceptXml(xml) {
    // Process XML
}

function sendXml(frameName, xml) {
    var frame = window.parent.frames[frameName];
    frame.acceptXml(xml);
}

我郑重建议您放弃使用iFrame,改用AJAX。由于AJAX在所有主流浏览器中都有适当的支持,iFrame实际上已经过时了。选择像jQuery或Prototype这样的JavaScript库也会使事情变得更简单。@Atli-同上。如果答案如此简单,为什么要使用AJAX?谁说iFrame已经过时了?新来的孩子们似乎认为AJAX是所有动态加载内容问题的答案,就像jQuery倡导者似乎认为他们的库是所有javascript问题的答案一样。在任何给定的方式、形状或形式中,这些都是不正确的。至少有一个常见的用例实际上需要iFrame,即使是使用Ajax:如果您想要进行跨域请求。例如,Facebook chat使用以下功能:浏览器连接到Facebook.com,iFrame连接到chat.Facebook.com,运行comet和longpolling,并与家长对话以更新UI。