2010-09-23 7 views
2

J'ai eu un problème en développant ma première API facebook, j'utilise fb: tabs dans mon API.FBML fb: problèmes de tabulations

Mais j'ai eu quelques problèmes.

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

J'ai utilisé le code ci-dessus pour afficher les onglets.

  1. J'utilise le div id = « centre-frontière » pour rendre le reste de la page, mais un grand gab apparaît entre les onglets et le contenu de la page, quand je vérifie avec bug le feu était iframe . note: le problème ci-dessus n'apparaît pas lorsque le reste de la page contient des éléments fb: inside. Lors de la commutation entre les onglets, le logo facebook apparaît, et je dois cliquer dessus pour me rediriger vers l'autre onglet.
  2. J'utilise le code ci-dessus à chaque page pour rendre les onglets, est-il d'autres moyens

mise à jour: J'ai résolu le deuxième problème en remplaçant les liens dans des onglets par référence réelle dans mon cas, il était l'hôte local comme ça:

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

mise à jour: Je cherchai dans ce problème encore, maintenant je peux reformuler plus clairement, je partagerai à des mesures pour être plus clair.

  1. lorsque l'utilisation fb: onglets comme code ci-dessus, il semble que chaque fb: onglet-élément a son propre iframe que le lien « href » est rendu sur (je devinai qu'en utilisant Firebug)

  2. en cliquant sur un onglet la page liée apparaît sans problèmes, le problème est que les onglets disparaissent.

  3. Pour empêcher les onglets de disparaître, je dois mettre le code ci-dessus à chaque page et changer l'onglet sélectionné.

  4. puis l'espace qui apparaît entre la barre d'onglets et le contenu de la page, est le iframe des onglets, qui ne rend rien, et le contenu est rendu dans le "iframe" correct ci-dessous. Comme je l'ai mentionné ci-dessus, ce problème ne se produit pas lors du rendu de la page d'invitation facebook "intégré" dans le même. Une des solutions que j'ai imaginé est de trouver un fb: "X" qui peut rendre un élément HTML "par exemple" pour que je puisse contourner ce problème, mais je n'ai pas trouvé une telle chose.

mise à jour: je pourrais résoudre le problème 3, en mettant le code ci-dessus dans le fichier php et l'inclure en cas de besoin, nous pouvons changer les onglets sélectionnés comme ça:

<?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> 

vraiment désolé le long post.

toute aide sera appréciée. Merci d'avance

Répondre

0

Je vous suggère d'aller à www.facebook.com/thefanpagefactory Vous y trouverez votre réponse. Il suffit de demander.

Profitez-en!

+0

merci, je vais essayer cela. – omar

1

Je ne trouve pas la solution, mais je suis arrivé à ce problème, je Firebug pour obtenir le code html natif pour les onglets de visage et de le mettre dans le fichier .php, et l'inclure quand on le souhaite

la fichier 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

Très utile - J'ai utilisé cette approche pour que je puisse avoir ajax dans l'événement onclick - merci de poster! – metadaddy

Questions connexes