【问题标题】:Catch share result in popup在弹出窗口中捕获共享结果
【发布时间】:2015-04-30 06:59:30
【问题描述】:

如果我没有使用社交网络的 Javascript SDK,如何检测分享结果?所有社交网络的内容(授权、分享等)都发生在我域上的弹出窗口中。

var popup = window.open('/api/share/' + service + '/page/123', '', 'top=' + top + ', left=' + left + ', width=400, height=500');

当共享弹出窗口打开时,用户可以按 Facebook(或任何其他社交服务)的共享按钮并关闭弹出窗口。但是,用户也可以只关闭一个弹出窗口而不共享。那么,我如何知道用户共享或用户关闭了弹出窗口?

如果我使用社交网络的 Javascript SDK,例如。 Facebook Javascript SDK,很简单:

$('#shareButton').click(function() {
    FB.ui({
        method: 'feed',
        link: 'https://developers.facebook.com/docs/dialogs/',
        caption: 'An example caption',
    }, function(response) {
        if (response === null) {
            console.log('user just closed a popup');
        } else {
            console.log('user really shared a post ' + response.post_id);
        }
    });
});

我在我的网页上使用 Facebook、Google+、Twitter 和 Vkontakte 社交网络,我真的不想在我的网页上包含四个 Javascript SDK(Twitter 实际上甚至没有 JS SDK)。

【问题讨论】:

  • 请问您为什么想知道用户是否分享了某些内容?顺便说一句,提要对话框已被弃用 afaik,您应该改用共享对话框。
  • 我需要在我的页面上显示分享统计信息——每次成功分享都会增加分享/转发的总数。
  • 什么是«饲料对话框»?我正在使用重定向到 Facebook URL 的简单弹出窗口,Facebook 在此弹出窗口中显示自己的共享表单。
  • FB.ui with method "feed" 是提要对话框。
  • 哦,谢谢。但我提到的 FB.ui 只是一个例子——我没有在我的网页上使用 Facebook JS SDK。

标签: javascript facebook popup share


【解决方案1】:

这不是一个直接的答案,我不为那个平台工作,但我建议使用这样的东西:http://www.sharedcount.com/

在一次 API 调用中,您可以获得所有重要平台的点赞/分享。它已被缓存,因此如果您在短时间内执行两次相同的调用,第二次会非常快。

免费计划包括每天 10.000 次通话。

【讨论】:

  • 它只适用于 FB、G+ 和 TW,如果我使用任何其他社交网络怎么办?
  • 那么您必须手动添加它们 - 但 sharedcount 应该涵盖您需要的所有内容。例如,我相信它甚至包括 pinterest。
猜你喜欢
  • 2013-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多