【问题标题】:Going beyond the iframe超越 iframe
【发布时间】:2010-10-01 20:18:24
【问题描述】:

我正在尝试让 iframe B 与站点 A 通信。 我已经搜索和搜索,我读到的每一篇文章都说如果它们属于不同的域(iframe src 来自子域)是不可能的。

我想交流,因为我的公司在其页面上有广告,并且需要每 X 分钟刷新一次。如果它是一个正常的添加,这没关系,但有些添加扩展。就像我添加的那样,从 300x250 开始,然后到 800x300。 我想与 iframe 沟通以了解添加何时会扩展,但这似乎不是一种方式。有没有办法让添加超出 iframe 的初始大小?

如果添加为 300x250,则 iframe 也将具有 300x250,但是当添加扩展时,它会被切断,所以我真的需要让 iframe 也扩展或让添加超出 iframe 的大小。

任何人都知道如何做到这一点,或者有一些教程展示了如何与 iframe 进行一些基本的通信。

注意:有些网站还提供具有完全不同域的添加,因此如果有人知道如何使其超越 iframe,那就太好了。

谢谢

【问题讨论】:

    标签: html iframe


    【解决方案1】:

    如果您希望两个 iframe 进行通信,并且您说其中一个位于不同的子域但 相同的顶级域,则可以执行帧间脚本。见http://ajaxian.com/archives/how-to-make-xmlhttprequest-calls-to-another-server-in-your-domain

    诀窍是让页面 A 和 B 都设置

    document.domain = 'SameTopLevelDomain.com';
    

    然后浏览器将让页面进行通信(例如从其他页面获取数据、调用函数等)。

    但是,如果这两个页面完全位于不同的域中,则您必须采用前面回答的服务器端代理方法。

    【讨论】:

      【解决方案2】:

      出于安全原因,您不能跨越 iframe 边界,如果可能的话,很容易将您的登录凭据窃取到任何网站。

      但是,您可以制作服务器端代理,它将每个查询从 iframe 重定向到广告服务器。这样,您的 iframe 实际上可以在同一个域(或子域)中拥有源

      【讨论】:

      • 这是一个有 iframe 的页面
      【解决方案3】:

      Resizing an Iframe based on content 的回答中描述了一种使用 iframe 进行跨域通信的方法。

      许多广告服务公司通过 iframe 在您的网站上投放横幅,并使用上述答案中概述的技术来确保 iframe 可以扩展到广告素材所需的全部尺寸。

      【讨论】:

        【解决方案4】:

        也许我的回答Cross-site AJAX requests会对你有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-05
          • 2013-03-04
          • 2021-01-23
          • 2021-01-12
          相关资源
          最近更新 更多