如何使用jQuery从iFrame中获取父窗口的高度?

wmtdaxz3  于 2023-03-17  发布在  jQuery
关注(0)|答案(5)|浏览(264)

在iFrame中,我们需要获取父窗口/文档的高度。
有没有一种方法可以使用jQuery来获得它?
我知道我们可以使用$(document).height()来获取页面的高度,但我不知道如何从iFrame中获取父页面的值。

cs7cruho

cs7cruho1#

不需要jQuery。
parent.document.body.clientHeight
这对我来说适用于IE7和FF3。

iugsix8n

iugsix8n2#

在jQuery中,您可以

$(parent.window).width();
2izufjch

2izufjch3#

我在一个网站上尝试了clientHeight方法,两个Iframe都在同一个域上,但没有成功。(返回0)。
经过大量的测试,我发现最好的方法(我很乐意学习更好的方法)是在父节点上创建一个函数,返回文档高度,如下所示:

家长:

function getDocumentHeight(){
   return $(document).height();
}

I帧:

var parentDocHeight = parent.getDocumentHeight();
8zzbczxx

8zzbczxx4#

另一种可能性是:

$(window.parent.document).height()
syqv5f0l

syqv5f0l5#

谷歌把我送到这里,试图在一个跨域iframe中获得父窗口的宽度。在这里发帖是为了保存别人的时间。
如上所述,如果iframe位于不同的域,浏览器安全性将不允许您访问父窗口或文档,您可以使用postMessage API将宽度传递给iFrame,或者在我的情况下,我并不真正需要窗口或文档的宽度,用户整个屏幕的宽度很好。通过window.screen.width,即使在跨域iframe中也可以使用。您也可以使用window.screen.height

相关问题