【问题标题】:IFrame properties and eventsIFrame 属性和事件
【发布时间】:2011-07-12 10:38:31
【问题描述】:

考虑这种情况(请不要质疑其合理性):

我想在一个 IFrame 中使用 Google,它恰好占据页面宽度的一半和整个高度。相当简单地实现。但我只想有一个全局(用于窗口)滚动条。这就是问题所在......

  1. 我希望页面窗口扩展到 IFrame 的高度。
    我怎么做?此刻我什至在努力获得 IFrame 的内容高度。当然查询 IFrame 的高度不是这样做的方法,我需要查询它的内容。试过$("iframe#google").contents().find('html').height(),但不断得到null。只是 $("iframe#google#).contents() aready 返回一个空对象。
    假设我已经以某种方式想通了(希望在您的帮助下),我如何检测 IFrame 内容的高度变化?有没有我可以绑定函数的事件,或者setTimeout 很丑陋,但只有让它响应的解决方案。

  2. 我想知道 IFrame 的 url 何时发生变化(包括 hash url)。
    我什至如何找出当前 IFrame 的 url? src 属性在导航到其他位置时似乎没有改变。
    同样,假设我已经弄清楚了,是否有事件可以帮助我检测到这一点? load 如果主 url(没有哈希部分)发生变化,似乎确实可以完成这项工作。但是如果我也想检测哈希 url 的变化呢?

非常感谢您在这些方面的帮助。


编辑

可能值得注意的是,Google 无法做到这一点,因为他们的跨域政策不允许这样做。如果 IFrame 来自同一个域,则第一篇文章中的脚本确实有效。

【问题讨论】:

    标签: jquery events iframe


    【解决方案1】:
    1. $("#frameId").height($("#frameId").contents().find("html").height());

    2. $('#frameId').contents().find("src").text();

      var iframeurl = document.getElementById('frameId').getAttribute('src')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-03
      相关资源
      最近更新 更多