Facebook邀请朋友框与iframes

时间:2011-06-16 09:37:38

标签: facebook iframe

我想在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>

有什么建议吗?

1 个答案:

答案 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>