【问题标题】:How to make HTML IFrames talk to each other?如何使 HTML IFrame 相互通信?
【发布时间】:2023-03-17 08:52:01
【问题描述】:

如何使 HTML IFrame 相互通信?所以我有 2 个我知道的 iframe 并创建了内容。我需要让 tham 与其他人交谈 - 例如将 XML 数据发送给其他人或只是从中调用 JS 函数。

【问题讨论】:

  • 我强烈建议您放弃使用 iframe 并改用 AJAX。由于 AJAX 在所有主流浏览器中都得到了适当的支持,iframe 实际上已经过时了。选择像 jQuery 或 Prototype 这样的 JavaScript 库也会让事情变得容易得多。
  • @Atli - 同上。
  • 如果答案如此简单,为什么还要使用 AJAX?谁说 iframe 已经过时了?
  • 新人似乎认为 AJAX 是所有动态加载内容问题的答案,就像 jQuery 布道者似乎认为他们的库是所有 javascript 问题的答案一样。在任何给定的方式、形状或形式上,它们都不是正确的。
  • 至少有一个常见的用例实际上需要 iFrame,即使使用 Ajax:如果你想发出跨域请求。例如,Facebook 聊天使用这个:浏览器连接到 facebook.com,iFrame 连接到 chat.facebook.com,运行彗星和长轮询,并与父级对话以更新 UI。

标签: javascript html iframe


【解决方案1】:

这种方法要求每一帧都具备这些功能。

function acceptXml(xml) {
    // Process XML
}

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

【讨论】:

    【解决方案2】:

    这可能只是一个起点,但this site 提出了一个演示,说明如何使用一些 ajax 做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      相关资源
      最近更新 更多