在iFrame中,我们需要获取父窗口/文档的高度。有没有一种方法可以使用jQuery来获得它?我知道我们可以使用$(document).height()来获取页面的高度,但我不知道如何从iFrame中获取父页面的值。
$(document).height()
cs7cruho1#
不需要jQuery。parent.document.body.clientHeight这对我来说适用于IE7和FF3。
parent.document.body.clientHeight
iugsix8n2#
在jQuery中,您可以
$(parent.window).width();
2izufjch3#
我在一个网站上尝试了clientHeight方法,两个Iframe都在同一个域上,但没有成功。(返回0)。经过大量的测试,我发现最好的方法(我很乐意学习更好的方法)是在父节点上创建一个函数,返回文档高度,如下所示:
家长:
function getDocumentHeight(){ return $(document).height(); }
I帧:
var parentDocHeight = parent.getDocumentHeight();
8zzbczxx4#
另一种可能性是:
$(window.parent.document).height()
syqv5f0l5#
谷歌把我送到这里,试图在一个跨域iframe中获得父窗口的宽度。在这里发帖是为了保存别人的时间。如上所述,如果iframe位于不同的域,浏览器安全性将不允许您访问父窗口或文档,您可以使用postMessage API将宽度传递给iFrame,或者在我的情况下,我并不真正需要窗口或文档的宽度,用户整个屏幕的宽度很好。通过window.screen.width,即使在跨域iframe中也可以使用。您也可以使用window.screen.height。
window.screen.width
window.screen.height
5条答案
按热度按时间cs7cruho1#
不需要jQuery。
parent.document.body.clientHeight
这对我来说适用于IE7和FF3。
iugsix8n2#
在jQuery中,您可以
2izufjch3#
我在一个网站上尝试了clientHeight方法,两个Iframe都在同一个域上,但没有成功。(返回0)。
经过大量的测试,我发现最好的方法(我很乐意学习更好的方法)是在父节点上创建一个函数,返回文档高度,如下所示:
家长:
I帧:
8zzbczxx4#
另一种可能性是:
syqv5f0l5#
谷歌把我送到这里,试图在一个跨域iframe中获得父窗口的宽度。在这里发帖是为了保存别人的时间。
如上所述,如果iframe位于不同的域,浏览器安全性将不允许您访问父窗口或文档,您可以使用postMessage API将宽度传递给iFrame,或者在我的情况下,我并不真正需要窗口或文档的宽度,用户整个屏幕的宽度很好。通过
window.screen.width
,即使在跨域iframe中也可以使用。您也可以使用window.screen.height
。