Twitter 分享弹出窗口成功响应

Twitter share popup successful responds

我的网站上有这些共享弹出窗口,用户可以在其中共享我们的页面。这就是我真正想要的:检查用户何时成功(回调或响应)共享 post。

我找到了以下解决方案:Whosebug。 但这只在 tweet 事件上触发,tweet 事件与 click 事件同时触发,所以这不是方法。有没有办法检查他们是否真的分享了它?

更新: 我已经尝试检查来自 Twitter 的 Streaming API 是否可以帮助我解决这个问题。但它只在几分钟后给我 posted 推文。它应该立即执行。所以这也不是一个选择。

另一项更新: None 我的解决方法很有用

我为 Facebook 所做的,这很有效:

function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {

    } else {
        js = d.createElement(s);
        js.id = id;
        js.src = "//connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }

}(document, 'script', 'facebook-jssdk'));

function shareFacebook() {

    FB.init({
        appId: 'apiid',
        xfbml: true,
        version: 'v2.5'
    });
    FB.ui(
        {
            method: 'share',
            href: 'google.com'
        },
        // callback
        function (response) {
            if (response && !response.error_message) {
                alert('shared!')
            }
        }
    );
}

答案在您发布的 link 中。使用你的 link .

中显示的 twitter js 小部件和意图 api

正如您所说,这不仅仅是为了在 window 关闭时收听。您可以订阅特定的事件侦听器,例如加载、呈现、调整大小、推文、关注、转推、点赞和点击。

您可以向 tweet 事件添加一个侦听器并插入您的回调,就像我提供的 link 那样。

如果您坚持只在 window 关闭时获得回调,您可以评估事件的 URL 以查看是否在已完成的推文 URL 上。当然,这不是 100% 可靠的。

编辑: 如果不使用此小部件,出于安全原因,无法将回调添加到不同的 tab/browser。即使是同一浏览器中的选项卡也保持完全独立,因此站点 A 无法读取站点 B 上的任何内容,您可能会在其中输入重要信息。