2011-06-16 151 views
0

我想邀請朋友框在我的登陸頁Facebook的底部。它與舊的fbml一起工作,但是沒有顯示iframe。這裏是代碼:Facebook邀請朋友框與iframes

<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

,當它顯示了其不可用時,確認對話框會出可見區域。您可以使用請求2.0,選擇器對話框顯示在頁面上方(而不是iframe本身)請參閱http://www.facebook.com/ManhattanFitness?sk=app_175200199201756作爲示例 – Rufinus 2011-06-16 09:52:18

+0

作爲嚴肅的開發人員,它完全是* *我們有責任隨時關注我們使用的第三方API(臉譜平臺)所發生的變化。您應該留意[Facebook Developers Blog](https://developers.facebook.com/blog/)以及[Developers Roadmap](https://developers.facebook.com/roadmap/)。任何更改都將在那裏詳細說明,還有**替代方法用於不推薦的方法。** – Lix 2012-01-16 16:12:37

回答

3

如果你想讓FB在iFrame中邀請朋友,你必須首先啓動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>