IFrame属性和事件

时间:2011-07-12 10:38:31

标签: jquery events iframe

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

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

  1. 我想要页面窗口,以扩展到IFrame的高度。
    我怎么做?我现在甚至在努力争取IFrame的内容高度。当然,查询IFrame的高度不是这样做的方法,我需要查询它的内容。尝试$("iframe#google").contents().find('html').height(),但不断获得null。只有$("iframe#google#).contents() isady会返回一个空对象 假设我以某种方式想出来(希望有你的帮助),我如何检测IFrame内容的高度变化?是否有可以将函数绑定到的事件,或者setTimeout是丑陋的,但只是使其具有响应性的解决方案。

  2. 我想知道IFrame的网址何时更改(包括哈希网址)。
    我怎样才能找到当前IFrame的网址?导航到其他位置时,src属性似乎没有变化 再说一次,假设我已经找到了一个,是否有一个事件可以帮助我检测到这一点?如果主网址(没有哈希部分)发生变化,load似乎确实可以完成工作。但是,如果我想检测哈希网址也会改变呢?

  3. 非常感谢您对这些的帮助。


    修改

    值得注意的是,谷歌既不能做到这一点,因为他们的跨域政策不允许这样做。如果IFrame来自同一个域,则第一篇文章中的脚本可以正常工作。

1 个答案:

答案 0 :(得分:1)

  1. $("#frameId").height($("#frameId").contents().find("html").height());

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

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