如何检查用户是否在Facebook上共享网站

时间:2014-05-11 06:02:25

标签: facebook facebook-javascript-sdk

这就是我所做的,但当我点击Facebook链接上的分享时没有任何反应:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
 <head>
    <title>Sample Facebook share</title>
 </head>
<body> 
<script src="http://connect.facebook.net/en_US/sdk.js" type="text/javascript" charset="utf-8"></script>
    <script>
    window.fbAsyncInit = function() {
  FB.init({
    appId      : '1407416289470597',
    xfbml      : true,
    version    : 'v2.0'
  });
};


      (function(d, s, id){
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  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 test() 
{    
    FB.ui(
      {
        method: 'share',
        href: 'https://www.mywebsite.com',
      },
      function(response) {
        if (response && !response.error_code) {
          alert('Posting completed.');
        } else {
          alert('Error while posting.');
        }
      }
    );
}

</script>

<a href="" onClick="test()">Share</a>

</body>
</html> 

有什么想法吗?单击“共享”链接时没有任何反应。

我不知道出了什么问题。我也复制粘贴this示例,但仍然没有。

使用SSL在共享服务器上测试它。

1 个答案:

答案 0 :(得分:0)

不推荐使用Feed对话框,如下所示:https://developers.facebook.com/docs/sharing/reference/feed-dialog/v2.0

您最好实施新的共享对话框。您可以在此处找到指南:https://developers.facebook.com/docs/sharing/reference/share-dialog

SDK初始化也应该调用新的sdk.js文件:

window.fbAsyncInit = function() {
  FB.init({
    appId      : '{your-app-id}',
    xfbml      : true,
    version    : 'v2.0'
  });
};

(function(d, s, id){
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  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'));