【问题标题】:Callback function with new Facebook Share button带有新 Facebook 分享按钮的回调函数
【发布时间】:2013-12-17 06:08:44
【问题描述】:

我正在尝试与新的 Facebook 分享按钮一起订阅“edge.create”事件,但没有任何运气。 我正在使用标准事件订阅:

FB.Event.subscribe('edge.create',
    function(response) {
        console.log(response);
    }
);

该事件没有被触发...它可以使用 Like 按钮来代替

有什么建议吗?

【问题讨论】:

    标签: javascript facebook facebook-javascript-sdk facebook-events facebook-widgets


    【解决方案1】:

    创建一个 facebook 应用程序并获得批准很无聊,而且可能需要很多时间......

    我在这里为不想发布应用程序的人提供的另一种方法是:

       jQuery("#div_share").click(function() {
    
            var url = "http://www.facebook.com/sharer/sharer.php?u=YOUR_URL&title=YOUR_TITLE";
    
            var openDialog = function(uri, name, options, closeCallback) {
                var win = window.open(uri, name, options);
                var interval = window.setInterval(function() {
                    try {
                        if (win == null || win.closed) {
                            window.clearInterval(interval);
                            closeCallback(win);
                        }
                    }
                    catch (e) {
                    }
                }, 1000);
                return win;
            };
    
            openDialog(url,'Facebook','width=640,height=580', function(){
                jQuery("#div_share").hide();
                jQuery("#formulario").show();
            });
        });
    

    它将打开一个 javascript 对话框进行共享,并知道用户何时关闭它。不能保证他们真的分享内容...但是.. :)

    【讨论】:

      【解决方案2】:

      Facebook 分享按钮已被弃用,取而代之的是点赞按钮。从他们的文档中:

      “分享”按钮已被弃用,取而代之的是“赞”按钮,并且 将不再支持。请随时使用Like按钮 可以为您的应用带来最大流量。

      您可以将事件与like按钮一起使用,但是如果您想跟踪共享按钮,那么仍然可以使用一些javascript。您可以将点击事件添加到您的 FB 分享按钮。

      这是我正在使用的示例。

      window.fbAsyncInit = function () {
          FB.init({
              appId: 'your app id',
              status: true,
              cookie: true,
              xfbml: true,
              oauth: true
          });
      
          $('#facebook-share').click(function () {
              FB.ui({
                  method: 'feed',
                  link: document.URL,
                  caption: 'example',
              }, function (response) {
                  if (response === null) {
                      console.log('post was not shared');
                  } else {
                      console.log('post was shared');
                  }
              });
          });
      };
      
      (function (d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return;
          js = d.createElement(s); js.id = id;
          js.async = true;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-23
        • 1970-01-01
        • 2011-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多