我想在facebook的登陆页面底部的邀请朋友框。它适用于旧的fbml,但是iframe却没有显示出来。这是代码:
<div style="padding: 0px;"> <fb:request-form method="get" action="index.php" content="Fan" <fb:req-choice url='http://www.facebook.com/xyz' label='YES' />" type="page" invite="true" rows="3"> <div class="clearfix" style="padding-bottom: 10px;"> <fb:multi-friend-selector condensed="false" style="width:520px;" showborder="black" actiontext="Invite your friends" rows="3" cols="3"/> </div> </fb:request-form> </div>
有什么建议吗?
答案 0 :(得分:3)
如果你想在iFrame中使用FB邀请朋友,你必须首先启动facebook Connect API,为此我们需要在页面底部进行XFBML初始化。
你应该使用fb:serverfbml
标签让fb:friend-selector工作。
这是iFrame正文
<fb:serverfbml style="width: 650px;">
<script type="text/fbml">
<fb:fbml>
<fb:request-form
action="http://your-site.com/invite/sent"
method="POST"
invite="true"
type="My App"
content="Try out my app!
<fb:req-choice url='http://your-facebook-canvas-url'
label='<?php echo htmlspecialchars("Accept button text",ENT_QUOTES); ?>'
/>
" >
<fb:multi-friend-selector
showborder="false"
actiontext="Invite your friends."
exclude_ids="If any excluded Ids will goes here"
rows="3"
/>
</fb:request-form>
</fb:fbml>
</script>
</fb:serverfbml>
以上脚本将显示邀请朋友iFrame。
这是FB.connect代码
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
<script type="text/javascript">
FB_RequireFeatures(
["CanvasUtil"],
function(){
FB.XdComm.Server.init('/xd_receiver.html');
FB.CanvasClient.startTimerToSizeToContent();
}
);
</script>
<script type="text/javascript">
FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("Your Facebook API Key", "/xd_receiver.html"); });
</script>