1

写我的第一个 facebook webapp,我有一些问题。我正在使用他们新的 Graph API + JS 库。

这个想法是,为了使用我的 webapp,用户必须“喜欢”facebook 页面 A。

假设用户已登录。我必须检查他是否“喜欢”页面 A。如果用户不喜欢该页面,我通过显示“粉丝框”

FB.XFBML.parse('<fb:fan profile_id="A's id" stream="0" connections="0" width="450"></fb:fan>');

现在,这个带有“Like”按钮的风扇框在 iframe 中呈现,并将 src 设置为 facebook 域。

问题:我想知道用户何时单击“喜欢”按钮,以便我可以显示我的 webapp 的其余部分。我能想到的唯一可能的解决方案是每隔一秒轮询一次 Facebook 图形服务器,这真的很糟糕。

  • 我无法在该按钮上附加“onClick”事件,因为它位于指向 facebook 域的 iframe 内(使用 JS 根本无法访问它)
  • 我尝试从我的服务器获取此 iframe 的内容并将其显示在具有空 src 属性的 iframe 中,以便我可以访问其元素 - 不起作用,风扇框搞砸了。
  • 我不知道代表用户向 Graph 服务器发送“我想喜欢那个页面”请求。

我难住了。我真的怀疑轮询是解决这个问题的正确方法:)

4

1 回答 1

2

您可以通过使用like 按钮的fbml 代码而不是iframe 代码来获取onclick 事件。

Facebook 提供 FB.event.subscribe ,当有人点击喜欢按钮时触发。

在这里有一个完整的教程。在您的情况下,您可以编写代码以在单击按钮时刷新页面。并检查页面加载时的类似情况。因此,如果当前用户喜欢该页面,您可以将他重定向到应用程序页面。

于 2011-04-12T11:43:19.723 回答