Сжатый макет выбора друзей в Facebook и сомнение - PullRequest
2 голосов
/ 04 октября 2010

Я впервые работаю над приложением в facebook.Я создал приложение iframe (то есть выбрал «iframe» в качестве «типа холста» при регистрации приложения).У меня есть такая ситуация, когда на боковой панели приложения есть форма выбора нескольких друзей (ширина которой составляет около 200 пикселей). Снимок экрана: альтернативный текст 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, куда загружается основное приложение. Снимок экрана: альтернативный текст 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, как описано здесь: текст ссылки

Как я могу решить эту проблему?Чего-то не хватает в моем коде fb api?

1 Ответ

1 голос
/ 21 декабря 2010

У меня была похожая проблема, и я нашел решение здесь: http://alexandershapovalov.com/facebook-multi-friend-selector-dialog-width-is-incorrect-73/

Попробуйте изменить тег fb: serverFbml на следующее:

<fb:serverFbml width="200px">

Примечаниечто это не сработает, если вы установили атрибут with в атрибуте style и вам может понадобиться более 200 пикселей, чтобы соответствовать диалогу.

...