Facebook的浓缩多朋友选择器布局和渲染怀疑

时间:2010-10-04 14:35:53

标签: facebook iframe facebook-iframe

这是我第一次使用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代码中是否缺少某些内容?

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题并在此找到了解决方案: http://alexandershapovalov.com/facebook-multi-friend-selector-dialog-width-is-incorrect-73/

尝试将 fb:serverFbml 标记更改为以下内容:

<fb:serverFbml width="200px">

请注意,如果在样式属性中设置with,并且您可能发现需要超过200px才能适合对话框,则此方法无效。