在Facebook粉丝专页选项卡上嵌入类似Facebook的按钮

时间:2010-12-27 11:52:39

标签: facebook facebook-like

我一直试图找出如何在Facebook粉丝页面上添加某种类似按钮。我知道有办法做到这一点。例如,此页面实现了一种类似按钮:http://www.facebook.com/JimBeam?v=app_100742133310820

我知道这两个页面都使用应用程序,而不是您经常使用的静态FBML页面。所以我创建了一个可以很好地运行的应用程序。

在此应用程序上,类似按钮可以正常工作。然而,当我尝试将其添加到Facebook页面上的选项卡时,我收到一条错误消息:“呈现标签时出现HTML错误”iframe“:iframe禁止使用TabFBM”所以显然iframe不允许呈现。但显然有很多方法可以解决这个问题,所以你对他们在其他页面上的表现有什么了解吗?

我真的很感激答案,我特别好奇是否有人能够弄清楚他们如何在Jim Beam的页面上重新设置类似按钮。

1 个答案:

答案 0 :(得分:2)

Facebook页面的标签是FBML。而且你不能在这个页面上直接添加like按钮(fb:like或其他)。但是有一个“技巧”可以做到这一点,你给出的页面实现了以下内容:

获得类似按钮的唯一方法是将其加载到iframe中。但是在页面的FBML中也禁止使用iframe。所以诀窍是加载一个带有AJAX(fbjs调用)的html页面,其中包含一个带有fb:like按钮的iframe。由于Facebook禁止javascript自动充值,因此在进行ajax调用以加载html的iframe之前,需要点击相似或图片。这主要是屁股的痛苦。

所以,这是概念证明代码。

第一个文件:index.html:

<script type="text/javascript">
<!-- function launch_code() {
    var ajax = new Ajax();
    ajax.responseType = Ajax.FBML;
    ajax.requireLogin = false;

    ajax.ondone = function(data) {
        document.getElementById('content').setInnerFBML(data);
    }

    document.getElementById('content').setTextValue('Loading, please wait.');

    ajax.post('http://example.com/greatpageapp/iframe.html');
    return false; }

//--> </script>

<div id='content'>
    <input type='button' onclick='launch_code(); return false;' value='click on me' />
</div>

iframe.html内容:

<center>
<table valign="top" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td valign="top" width="520" height="1500">
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fgoogle.com%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>
    </td>
    </tr>
</center>

现在测试并正常工作。希望有所帮助。