2

フェイスブックアプリを作るのは初めてです。iframe アプリを作成しました (つまり、アプリの登録時に「キャンバス タイプ」として「iframe」を選択しました)。アプリのサイドバー (約 200px の幅) にマルチ フレンド セレクター フォームがあるこの状況があります。 スクリーンショット: 代替テキスト

そのフォームを生成するための関連コードは次のとおりです (アプリ レイアウトの一部である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 内に表示されます (したがって、レイアウトが壊れます)。 スクリーンショット: 代替テキスト

次のコードを試しました (ここで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コードに欠けているものはありますか?

4

1 に答える 1

1

同様の問題があり、ここで解決策を見つけました: http://alexandershapovalov.com/facebook-multi-friend-selector-dialog-width-is-incorrect-73/

fb:serverFbmlタグを次のように変更してみてください。

<fb:serverFbml width="200px">

スタイル属性で with を設定した場合、これは機能せず、ダイアログに合わせて 200px 以上が必要になる場合があることに注意してください。

于 2010-12-21T15:35:04.343 に答える