2012-07-02 26 views
3

我想从我的iframe中获取使用javascript的Facebook窗口高度。然而window.innerHeight给了我iframe的高度。我怎么解决这个问题 ?如何从iframe获取Facebook窗口高度?

+0

不知道,但我认为这是不可能的,你会得到访问拒绝试图访问iframe的内容。但你为什么需要它?请求Facebook社交插件,你可以设置你需要的宽度和高度。 –

回答

7

这可能是这种情况,你可以使用FB.Canvas.getPageInfo()

FB.Canvas.getPageInfo(
    function(info) { 
     console.log('Height: ' + info.clientHeight); 
    } 
); 
0

您需要获取iframe的父窗口,然后获取其高度。 您可以尝试使用parent.window.innerHeight,而且应该获得正确的答案。

下面的作品,如果它在文档通过iframe包含在另一个文件:

<script type="text/javascript"> 
    alert(parent.window.innerHeight); 
</script> 

请注意,这可能不是跨域请求工作,也就是说,如果你要嵌入的东西没有被托管在同一个域中的主要场所,如果your're使用Facebook的JavaScript SDK的Facebook应用程序