facebook-app:我如何更改可调整大小的iframe应用程序的高度?

问题描述:

我创建了一个Facebook应用程序和我配置如下:facebook-app:我如何更改可调整大小的iframe应用程序的高度?

IFrame的尺寸:可调整 画布宽度:760px (不使用FBML)

看来,无论我如何配置我的html页面,则iframe高度是800px。我的应用程序需要更多的那么,我如何配置facebook应用程序的iframe有更大的高度?

的感谢!

将您的Canvas Size选项设置为Resizable Iframe本身不会自动调整画布大小以符合您的内容。还有几件事你必须做。查看Resizable IFrame wiki页面以获取完整说明。

您基本上必须创建一个称为“跨域接收器”的HTML页面(与复制和粘贴其示例文件一样简单),然后在所有应用程序的底部复制一段JavaScript代码片段页面。一旦内容加载,Javascript将执行iframe的调整大小。

自上次我使用它以来,wiki页面有所改进,所以希望它非常简单。如果遇到问题,请确保您已经正确修改了JavaScript代码段,以便它指向您的跨域接收者页面。

更新2011年1月 - 一些评论进来,所以我想我会更新。我相信这个答案或多或少是正确的,尽管文档已经改变了。 Facebook已经离开了FBML,并更新了他们的Javascript SDKs。加载Javascript SDK的当前方法可在main Javascript SDK page上找到,底部是可用于调整画布大小的方法,FB.Canvas.setAutoResize()FB.Canvas.setSize()。您仍然需要在应用的开发人员设置中将画布设置为可调整大小。看起来他们可能已经用新的SDK取代了跨域文件的需求,但我还没有对自己进行过测试。

+1

维基页面消失了。 – Andrei 2011-01-14 21:52:02

+0

这仍然是正确的答案? – 2011-01-23 20:15:12

+0

我不知道它是否仍然是正确的答案,因为我搬到了FBML。与FBML我真的不必担心任何。 – ufk 2011-01-23 20:15:12

尽管wiki不再存在,但我发现这个页面,我认为它可能是Zombat正在谈论的内容。

http://apps.facebook.com/wzhu_public_resize/

Facebook的最近引进了一种新的“流体”设置帆布的宽度和高度,从而使帆布尺寸超出正常760px宽度http://developers.facebook.com/blog/post/538/(第12次2011年8月)。

要更改设置:

1)进入Facebook应用程序设置页面。

2)选择高级。

3)在画布设置,设置画布宽度流体。这使应用程序占用了几乎整个屏幕的宽度。

同样可以执行高度。

额外:有人猜测,这是在回应谷歌自己的努力,在游戏领域http://tutorial-on.blogspot.com/2011/08/facebook-features-new-gaming-canvas-and.html

我刚刚结束标记之前停留在我的HTML iFrame内容的文件的末尾该代码和它的工作原理现在好了。

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId : 'YOUR_APP_ID', 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    oauth : true // enable OAuth 2.0 
    }); 
    FB.Canvas.setAutoResize(); 
</script> 

显然,把你的APPID在那里... :)

FB.Canvas.setAutoGrow()

注:此方法仅当画布高度设置为“已启用在应用程序面板中的“(800)px”中修复。

开始或停止一个计时器,该计时器将增加您的iframe以每隔几毫秒适应内容。默认超时是100ms。

用于被称为FB.Canvas.setAutoResize

http://developers.facebook.com/docs/reference/javascript/FB.Canvas.setAutoGrow/