6

Facebookのiframeアプリケーションを作成しています

自分のフォームデータを使ってリクエストフォームを作成しています。データを処理するにはどうすればよいですか?

action = "http://apps.facebook.com/ [appName] /abc.php"を入力すると、つまり

<fb:serverfbml>
    <script type="text/fbml">
        <fb:fbml>
            <fb:request-form action="http://apps.facebook.com/[appName]/abc.php" method="post" type="abc" content="abc">
                <textarea name="pm" fb_protected="true" ></textarea>
                <fb:multi-friend-selector showborder="false" max="35" actiontext="test" email_invite="true" bypass="cancel" />
            </fb:request-form> 
        </fb:fbml>
    </script>
</fb:serverfbml>

その結果はおかしいです...Facebookアプリのiframe内のFacebookページ!

しかし、action = "http://[自分のドメイン/facebook connect url] /abc.php"を置くと、つまり

<fb:serverfbml>
    <script type="text/fbml">
        <fb:fbml>
            <fb:request-form action="http://[my own domain / facebook connect url]/abc.php" method="post" type="abc" content="abc">
                <textarea name="pm" fb_protected="true" ></textarea>
                <fb:multi-friend-selector showborder="false" max="35" actiontext="test" email_invite="true" bypass="cancel" />
            </fb:request-form> 
        </fb:fbml>
    </script>
</fb:serverfbml>

次に、結果ページはFacebookテンプレートなしでレンダリングされます(つまり、Facebookチャットなどのように上部のFacebookバナーと下部のFacebookバーがすべて失われます)

誰もが何が悪いのか知っていますか?

読んでくれてありがとう

4

4 に答える 4

5

target="_top" の重要な点は、送信とキャンセルでそれぞれ機能するように、リクエスト フォームとマルチ フレンド セレクターの両方に配置する必要があることです。

request-form には target="_top" が必要です。これにより、送信時にフォームがトップ フレームに読み込まれますが、キャンセル機能は request-form ではなく multi-friend-selector によって制御されます。したがって、キャンセル アクションがトップ フレームにロードされるように、マルチ フレンド セレクターにも target="_top" が必要です。

今、Facebookがフレームを非表示にするキャンセルの「なし」アクションを許可することを望みます...

于 2010-03-25T21:10:12.763 に答える
3

新しい回答:FacebookはFBMLの段階的廃止を開始し、開発者にRequests2.0への切り替えを強く推奨しています。新しいFB.ui({method:'apprequest'、...});を使用する JavaScript SDKでは、これを行うためのより簡単な方法です。また、Facebook以外のページもサポートしていますhttp://af-design.com/blog/2011/02/17/using-facebook-requests-to-promote-a-website/

古い回答:FBMLをfb:serverfbmlの属性として渡すことが機能することがわかりました。<fb:serverfbml fbml = "{HTML Escaped FBML Here}"> </ fb:serverfbml>調査結果についてここに投稿しました:http ://af-design.com/blog/2010/11/23/fbserverfbml-on-キャンバス-iframe/

于 2010-11-23T23:10:41.317 に答える
1

私がこれを処理した方法は、フォーム プロセッサ ページが、メイン アプリを指す "< fb:redirect >" 以外の出力を出さないようにすることでした。

于 2009-06-10T19:23:56.947 に答える
1

この < fb:redirect > をどのように使用しましたか?

わかりました target="_top" を追加してみてください

http://apps.facebook.com/myapp' label='今すぐ参加' />" action="http://apps.facebook.com/myapp" target="_top" invoke="true">

于 2009-08-18T05:39:15.457 に答える