这是我第一次使用Facebook应用程序。我创建了一个iframe应用程序(即在注册应用程序时选择'iframe'作为'画布类型')。我有这种情况,在应用程序的侧边栏中有一个多朋友选择器表单(宽度约为200px)。 屏幕截图: alt text http://i54.tinypic.com/ei5l78.png
生成该表单的相关代码如下(除了 html 标记,它是应用程序布局的一部分):
<html xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml">
// some layout markup here for the whole app....
<div id="sidebar"> // place a condensed friend selector here
<fb:serverFbml>
<script type="text/fbml">
<fb:fbml>
<fb:request-form action="invite_url" content="
Hey! a form!" invite="true" method="post" type="sample">
<fb:multi-friend-selector actiontext="Invite your friends to check out this site" condensed="true" exclude_ids="" max="20" showborder="true" style="width: 300px;" />
<fb:request-form-submit label="Send" />
</fb:request-form>
</fb:fbml>
</script>
</fb:serverFbml>
</div>
当我点击“发送邀请”时,我会看到一个确认对话框,但它出现在iframe中,其中放置了多朋友选择器(因此打破了布局)而不是主应用程序加载的父iframe 。 屏幕截图: alt text http://i51.tinypic.com/fckun4.gif
我尝试了以下代码(我删除了 fb:serverFbml 标记):
<fb:fbml>
<fb:share-button></fb:share-button>
<fb:request-form type="my_app" method="post" invite="true" content="Form content" action="/action">
<fb:multi-friend-selector actiontext="Invite your friends to check out this site" condensed="true" exclude_ids="" max="20" showborder="true" style="width: 300px;"></fb:multi-friend-selector>
<fb:request-form-submit label="Send" />
</fb:request-form>
</fb:fbml>
此处显示分享按钮,但选择器表单为空( fb:multi-friend-selector 标记内没有任何内容呈现)
我正在使用此处所述的FB初始化代码:link text
我该如何解决这个问题?我的fb api代码中是否缺少某些内容?
答案 0 :(得分:1)
我遇到了类似的问题并在此找到了解决方案: http://alexandershapovalov.com/facebook-multi-friend-selector-dialog-width-is-incorrect-73/
尝试将 fb:serverFbml 标记更改为以下内容:
<fb:serverFbml width="200px">
请注意,如果在样式属性中设置with,并且您可能发现需要超过200px才能适合对话框,则此方法无效。