facebook - 粉丝页面上的“赞”按钮。他们是怎么做到的?

标签 facebook fbml facebook-page

Porche 如何将 Facebook Like 按钮添加到他们的粉丝页面?

他们还改变了颜色http://www.facebook.com/porsche?v=app_172346812791398

最佳答案

哇,这真的很令人困惑,而且非常狡猾。看起来他们使用 iframe 创建了一个应用程序,这将允许他们在其中创建一个 fb:like 按钮。然后他们将选项卡应用程序指向仅呈现一些 FBML 的 iframe 应用程序:

http://apps.facebook.com/porscheevent/tab.php

所以当你喜欢它时,在幕后,喜欢就会被注册。您会注意到,在刷新页面之前,顶部的实际按钮不会更改。

选项卡应用程序本身似乎添加了一些 CSS,然后 Conceal “Like”按钮内容并用自己的内容替换它:

<style type="text/css">
.app_content_172346812791398 div.comment_body { display: none; }
.app_content_172346812791398 span.liketext { display: none; }
.app_content_172346812791398 span.piece { display: none; }
.app_content_172346812791398 span.corner_mask { display: none; }
.app_content_172346812791398 a.like_button_no_like { border: 0px none #ffffff; margin: 0px ! important; padding: 0px; background: transparent none no-repeat scroll 0% 0%; left: 0px ! important; top: 0px ! important; width: 124px; height: 25px; text-indent: -99999px; }
.app_content_172346812791398 div.connect_widget_sample_connections { display: none; }
.app_content_172346812791398 div.connect_confirmation_cell_like { display: none; }
.app_content_172346812791398 div.connect_confirmation_cell_no_like { display: none; }
.app_content_172346812791398 div.bgpage { border: 0px none #ffffff; margin: 0px; padding: 0px; background-repeat: no-repeat; width: 520px; height: 525px; }
.app_content_172346812791398 div.button { border: 0px none #ffffff; margin: 0px; padding: 0px; background-repeat: no-repeat; background-position: center bottom; cursor: pointer; }
.app_content_172346812791398 div.button:hover { background-position: 0pt 0pt; }
.app_content_172346812791398 a.like_button_no_like { display: block; background-image: url("http://platform.ak.fbcdn.net/www/app_full_proxy.php?app=172346812791398&v=1&size=o&cksum=b66bf4a27297d44a6672defc61932d66&src=http%3A%2F%2Ffacebook.porsche.com%2Fevent%2Fimages%2Flike.png%3F6"); background-position: center bottom; }
.app_content_172346812791398 a.like_button_no_like:hover { background-position: 0pt 0pt; }
</style>

在 iframe 应用程序中,他们使用 fb:comments 插件(上面有一个 Like 按钮)并将 returnurl 设置为他们的 Facebook 页面。他们 Conceal 所有评论内容并禁用评论。如果您检查该样式节点并将其删除,请查看显示的内容;)

alt text

所以基本上,他们通过在 iframe 中使用 fbml 来规避 Facebook 不允许在选项卡应用程序中使用 fb:like,然后在渲染后在其上添加一些自定义样式。可能是反对 Facebook 的服务条款,但我确信他们都在从中摆脱保时捷;)

关于facebook - 粉丝页面上的“赞”按钮。他们是怎么做到的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274716/

相关文章:

php - Facebook 重定向到 canvas url 而不是 facebook 上的应用程序

ios - 我可以为 Twitter 和 Facebook 以外的社交网络创建或使用像 SLComposeViewController 这样的 View Controller 吗

javascript - 如何在 fbml.dialog 上显示蓝色 facebook 标题。 (如在 stream.publish 中)

javascript - 分享来自 Facebook FanPage 的帖子吗?

ios - FBSession 第一次打开失败

php - 通过 PHP 从 Facebook JSON 到 HTML 的字符编码问题

javascript - Facebook 注册插件似乎无法在 IE7/8 上运行

php - 从 Facebook 页面检索图片?

facebook-graph-api - 如何使用 facebook api 隐藏页面帖子