我在开发我的第一个 facebook api 时遇到问题,我在我的 api 中使用 fb:tabs。
但是我遇到了一些问题。
<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>
我使用上面的代码来呈现标签。
- 我使用 id="center-border" 的 div 来呈现页面的其余部分,尽管在选项卡和页面内容之间出现了一个很大的间隙,但当我用 fire bug 检查它时,它是 iframe。注意:当页面的其余部分是 fb: elements inside 时,不会出现上述问题。
- 在标签之间切换时出现 facebook 徽标,我必须单击它才能将我重定向到另一个标签。
- 我在每个页面都使用上面的代码来呈现选项卡,还有其他方法吗
更新: 我通过用实际引用替换选项卡中的链接解决了第二个问题,在我的情况下它是这样的本地主机:
<fb:tab-item href="http://localhost/facebook......./invite.php" title="Invite Friends" />
更新: 我再次搜索了那个问题,现在我可以更清楚地重述它,我将它分成步骤更清楚。
当像上面的代码一样使用 fb:tabs 时,似乎每个 fb:tab-item 都有自己的 iframe,“href”链接在它上面呈现(我猜是通过使用 firebug)
单击选项卡时,链接页面显示没有问题,问题是选项卡消失。
为防止标签消失,我必须在每一页上放置上面的代码并更改选定的标签。
那么标签栏和页面内容之间出现的间隙,就是标签的 iframe,它什么都不渲染,内容呈现在下面的“正确”iframe 中。
正如我上面提到的,当在同一个 .
我想到的解决方案之一是找到一个可以渲染 HTML 元素“例如”的 fb:"X",这样我就可以解决这个问题,但我没有找到这样的东西。
更新: 我可以解决问题 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>
很抱歉这篇长文。
任何帮助将不胜感激。提前致谢