我正在制作一个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自己的域名/ 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聊天等)
有人知道哪里出问题了吗?
感谢您的阅读
发布于 2010-03-26 05:10:13
target="_top“的关键在于,您必须将其同时放在请求表单和多好友选择器中,以便它分别在提交和取消时工作。
请求表单需要target="_top“,以便表单在提交时加载到顶部框架中,但取消功能是由多好友选择器控制的,而不是请求表单。因此,您还需要在多好友选择器上使用target="_top“,以便在顶部框架中加载cancel操作。
现在,我只希望Facebook可以允许一个“无”的取消操作,只会隐藏框架……
发布于 2010-11-24 07:10:41
新的答案: Facebook已经开始逐步淘汰FBML,并强烈鼓励开发人员切换到Requests 2.0。在JavaScript SDK中使用新方法({FB.ui:‘apprequest’,...});是一种更简单的方法。它还支持离线的Facebook页面http://af-design.com/blog/2011/02/17/using-facebook-requests-to-promote-a-website/
老答案:我发现将FBML作为fb:serverfbml的属性传递是有效的。我在这里发布了我的发现:http://af-design.com/blog/2010/11/23/fbserverfbml-on-canvas-iframe/
发布于 2009-06-10 19:23:57
我处理这个问题的方法是让我的表单处理器页面不发出任何输出,除了一个指向主应用程序的"< fb:redirect >“。
https://stackoverflow.com/questions/973642
复制相似问题