2010-09-23 62 views
2

我在開發我的第一個Facebook API時遇到了問題,我在我的API中使用了fb:tabs。FBML fb:標籤問題

但我遇到了一些問題。

<div> 
     <fb:serverfbml style="width: 650px;"> 
      <script type="text/fbml"> 
        <fb:fbml> 
        <fb:tabs> 
        <fb:tab-item href="http://apps.facebook.com/myapi/invite.php" title="Invite Friends" selected="true"/> 
        <fb:tab-item href="http://apps.facebook.com/myapi/inbox.php" title="inbox"/> 
        <fb:tab-item href="http://apps.facebook.com/myapi/sent.php" title="sent"/> 
        title="comm" align="right"/> 
        </fb:tabs> 
        </fb:fbml> 
      </script> 
     </fb:serverfbml> 
     <div id="center-border"> 

     </div> 
    </div> 

我用上面的代碼來呈現製表符。

  1. 我使用ID爲「center-border」的div來渲染頁面的其餘部分,雖然在頁面和頁面內容之間出現了一個大的混亂,當我用fire bug檢查它是iframe 。 注意:當頁面的其餘部分是fb:elements裏面時,上述問題不會出現。
  2. 當標籤之間切換facebook標誌出現時,我必須點擊它將我重定向到其他標籤。
  3. 我用上面的代碼在每個頁面呈現的標籤,還有沒有其他的方式

更新: 我通過我的情況下,實際參考替換選項卡中的鏈接解決的第二個問題,它是本地主機這樣的:

<fb:tab-item href="http://localhost/facebook......./invite.php" title="Invite Friends" /> 

更新: 我搜索在該問題又來了,現在我可以更加清楚地再說一遍,我將其劃分到步驟更加清晰。

  1. 時使用FB:標籤就像上面的代碼似乎每個FB:標籤項目都有自己的iframe的「HREF」鏈接就可以呈現(我猜使用螢火蟲)

  2. 當點擊一個標籤鏈接的頁面出現沒有問題時,問題是標籤消失。

  3. 爲了防止標籤消失,我必須將上面的代碼放在每個頁面上並更改選定的選項卡。

  4. 那麼標籤欄和頁面內容之間出現的差距就是標籤的iframe,不呈現任何東西,內容呈現在下面的「正確的」iframe中。

  5. 正如我上面提到的,當渲染「內置」Facebook邀請頁面時,問題不會發生。

  6. 我想到的一個解決方案是找到一個fb:「X」,它可以呈現一個HTML元素「例如」,這樣我就可以解決這個問題,但我沒有找到這樣的事情。

更新: 我能解決問題3,通過把在PHP文件上面的代碼,並將其包含在需要的時候,我們可以改變選擇的標籤這樣的:

<?php $page = basename($_SERVER['PHP_SELF']);?> 
<fb:tabs> 
    <fb:tab-item href="http://localhost/facebook......./invite.php" title="Invite Friends" <?php if ($page == 'invite.php'):?>selected="true"<?php endif;?>/> 
    <fb:tab-item href="http://localhost/facebook......./inbox.php" title="inbox" <?php if ($page == 'inbox.php'):?>selected="true"<?php endif;?>/> 
    <fb:tab-item href="http://localhost/facebook......./sent.php" title="sent" <?php if ($page == 'sent.php'):?>selected="true"<?php endif;?>/> 
</fb:tabs> 

感到很抱歉長的職位。

任何幫助將不勝感激。 在此先感謝

回答

0

我建議你去www.facebook.com/thefanpagefactory 你會在那裏找到你的答案。請問。

享受!

+0

,謝謝,我會盡力的。 – omar 2010-09-25 16:11:51

1

我沒有找到解決辦法,但我解決這個問題了,我用螢火蟲來獲取面子書標籤本地的HTML代碼,並把它放在PHP文件,並將其包含所需

的時PHP文件

<?php $page = basename($_SERVER['PHP_SELF']);?> 
<html> 
    <head> 
     <link href="http://static.ak.fbcdn.net/rsrc.php/z29RQ/hash/hdvsb40e.css" rel="stylesheet" type="text/css"> 
     <link href="http://static.ak.fbcdn.net/rsrc.php/z1LB3/hash/7zqkk7tm.css" rel="stylesheet" type="text/css"> 
     <link href="http://static.ak.fbcdn.net/rsrc.php/zD8FK/hash/87ukiib8.css" rel="stylesheet" type="text/css"> 
    </head> 
    </body> 
    <div class="fb_protected_wrapper" fb_protected="true"> 
     <div class="tabs clearfix"> 
      <center> 
       <div class="left_tabs"> 
        <ul id="toggle_tabs_unused" class="toggle_tabs"> 
         <li class="first "> 
          <a onmousedown="" onclick="return true;" class="<?php if ($page == 'invite.php') echo "selected";?>" href="http://localhost/facebook....../invite.php">Invite Friends</a> 
         </li> 
         <li> 
          <a onmousedown="" onclick="return true;" class="<?php if ($page == 'inbox.php') echo "selected";?>" href="http://localhost/facebook....../inbox.php">inbox</a> 
         </li> 
         <li class="last "> 
          <a onmousedown="" onclick="return true;" class="<?php if ($page == 'sent.php') echo "selected";?>" href="http://localhost/facebook...../sent.php">sent</a> 
         </li> 

        </ul> 
       </div> 
      </center> 
     </div> 
    </div> 
    </body> 
</html> 
+0

非常有用 - 我使用這種方法,因此我可以在onclick事件中使用ajax - 感謝發佈! – metadaddy 2010-12-01 08:28:53