2012-11-01 47 views
4

我一直在寻找答案,但我发现在文档中很难找到有关此事的决定性结论(我完全有可能错过了某些内容)。使用GraphAPI的Facebook评论插件

背景

我使用this插件来显示我的网站上的评论,我想添加一个“实时”功能。我知道Facebook不会像他们在网站上那样通过“默认”提供插件的自动刷新功能,所以我通过setInterval()函数中的ajax请求来模拟该插件。

问题

是否有实现长AJAX拉,推或其他(更好?)解决方案来获得评论信息?多重Ajax请求的解决方案正常工作的一种方式,但它是一个小的消费。

非常感谢!

回答

1

通常你可以通过使用WebSockets来实现你想要的,但是我不认为Facebook支持基于WebSockets的API机制,因此可能没有解决方案不包含某种轮询。但是,您可以将该轮询机制从用户的浏览器移动到您的服务器,这可能会带来更好的用户体验,并减少您必须对Facebook API进行API调用的次数,以防有速率限制。

更具体地说,我建议一种机制,将Facebook API中的数据轮询到您的数据库中,然后设置一个WebSockets解决方案,如Socket.IO,它使用WebSockets事件驱动提供从Facebook API轮询的数据,比轮询速度快得多)机制(如果用户的浏览器不支持WebSockets,则Socket.IO返回到AJAX轮询)。

+0

谢谢,我想我会选择这个选项。这是一个耻辱,没有简单的方法来做到这一点 – NicoSantangelo