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://[my own domain / 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" 的关键是您必须将它放在请求表单和多朋友选择器上,以便它分别用于提交和取消。

请求表单需要 target="_top" 以便表单在提交时加载到顶部框架中,但取消功能由多朋友选择器控制,而不是请求表单。因此,您还需要在多朋友选择器上使用 target="_top" ,以便取消操作将加载到顶部框架中。

现在,我只希望 Facebook 允许“无”取消操作,这只会隐藏框架......

于 2010-03-25T21:10:12.763 回答
3

新答案:Facebook 已开始逐步淘汰 FBML,并强烈鼓励开发人员切换到 Requests 2.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" invite="true">

于 2009-08-18T05:39:15.457 回答