【发布时间】:2010-10-18 14:47:55
【问题描述】:
在 iFrame 中,我们需要获取父级的窗口/文档高度。
有没有办法使用 jQuery 来获得这个?
我知道我们可以使用$(document).height() 来获取页面的高度。我只是不知道如何从 iFrame 中获取父级的值。
【问题讨论】:
在 iFrame 中,我们需要获取父级的窗口/文档高度。
有没有办法使用 jQuery 来获得这个?
我知道我们可以使用$(document).height() 来获取页面的高度。我只是不知道如何从 iFrame 中获取父级的值。
【问题讨论】:
不需要jQuery。
parent.document.body.clientHeight
这对我来说适用于 IE7 和 FF3。
【讨论】:
parent.postMessage(...)请求高度;在主窗口收听message事件;回复iframe.postMessage(document.body.clientHeight)。 MDN 上的完整请求/响应代码:developer.mozilla.org/en-US/docs/Web/API/Window/…
我在一个网站上尝试了 clientHeight 方法,其中两个 iframe 都在同一个域上,但它不起作用。 (返回 0)。
经过大量测试后,我发现最好的方法(我很乐意学习更好的方法)是在父级上创建一个返回文档高度的函数,例如:
家长:
function getDocumentHeight(){
return $(document).height();
}
iframe:
var parentDocHeight = parent.getDocumentHeight();
【讨论】:
另一种可能是:
$(window.parent.document).height()
【讨论】:
在 jQuery 中你可以这样做
$(parent.window).width();
【讨论】: