events - 捕捉哪个标签被点赞

标签 events facebook-like

我知道当一个人通过 edge.create 方法从 Facebook 选项卡中单击“喜欢”按钮时,您可以捕获事件,但我想知道是否有一种方法可以捕获 Facebook 喜欢按钮在单击页面顶部,目的是能够找出我的粉丝页面中的哪个选项卡产生了点赞。

当页面重新加载时,我会知道该页面已被点赞,但我不知道点赞是从一个选项卡生成的,还是同一页面上的另一个选项卡生成的。

最佳答案

我能想到的唯一足够准确的解决方案如下:

使用第一个应用程序请求在服务器端启动 session 。 记住来自 signed_request 的 like 状态和它发出时的时间戳。

在您的选项卡应用程序中嵌入一个 javascript 间隔,每隔几秒向您的服务器发送一个 AJAX 请求。我想你已经走了 2 到最多 5 秒之间的东西。 AJAX 请求仅刷新 session 中的时间戳。

如果用户点击页面顶部的赞,现在,整个 Facebook 页面会重新加载 - 您的应用程序也会重新加载,您会收到一个新的签名请求,该请求的赞状态现在设置为 1。 查看您的 session > 之前的状态是 0 吗?是的?是时间戳最大值。 6-10 秒老?是的?好吧,这很可能是因为用户在该选项卡上喜欢该页面。

我讨厌 AJAX 间隔污染网络的解决方案(在有很多用户的大网站上,这会给您的服务器带来压力),但我想不出任何其他解决方案,因为没有其他方法可以跟踪如果用户仍在查看您的选项卡。如果间隔太长,用户将能够导航到墙或信息部分并喜欢那里的页面。如果他在这之后直接回到你的标签,你根本无法追踪他是否离开了标签......

另一种解决方案是监听 body.unload 事件并向服务器发出 AJAX 请求,告诉您用户已离开该选项卡,但该事件可能永远不会在某些浏览器或 AJAX 上触发请求速度不够快,无法在标签页卸载之前处理。另一方面,此解决方案会占用更少的用户网络资源和服务器性能资源。

这只是理论上的解决方案,必须首先进行测试!

关于events - 捕捉哪个标签被点赞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8161120/

相关文章:

rest - 微服务 Saga 模式消费者等待响应

height - 调整/缩放Facebook之类的按钮(高度和宽度)

iphone - iOS滑动/滑动菜单,如Facebook应用程序

c# - 事件是 OO 等同于 GOTO 吗?

c# - 如何限制事件一次触发多次

windows - Windows上Perl如何处理程序异常终止

facebook - 从一致的 URL : facebook vs Google Pagespeed 提供资源

facebook - 检查登录用户是否喜欢我的 Facebook 页面

facebook - Like Box - 显示 "check in' s”而不是最近的帖子?

php - Magento - customer_save_after 总是解雇两次