点击Facebook点赞按钮时出现错误

5

我想展示Facebook的“赞”按钮。当用户点击按钮后,如果用户成功点赞该页面,它应该进行回调。 以下是我的代码:

<div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-width="200" data-layout="box_count" data-action="like" data-size="large" data-show-faces="false" data-share="false"></div>
<div id="fb-root"></div>
<script>(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'));
</script>
<script>
window.fbAsyncInit = function() {
    FB.init({
        appId      : '510679165797120',
        xfbml      : true,
        version    : 'v2.6'
    });
    FB.Event.subscribe('edge.create', function(response) {
        console.log('hello'); 
    });
};      
</script>

但是它没有起作用。当你点击“赞”按钮时,会显示一个错误。 请问有人能告诉我如何解决这个问题吗?


我想在回调中创建一些自定义事件。 - NewUser
我想通过ajax将一些数据插入数据库。 - NewUser
1
什么数据?为什么需要?你需要更具体。另外,FQL已经被弃用,所以我删除了那个标签。即使对于旧应用程序,它也很快会停止工作。 - andyrandy
1
顺便问一下,错误信息确切是什么? - andyrandy
点击Facebook的"喜欢"按钮后,按钮会隐藏,并且只显示"错误"。 - NewUser
显示剩余4条评论
3个回答

1
你可以在这个网站上直接获得Facebook为你构建的页面点赞代码——> https://developers.facebook.com/docs/plugins/like-button。这样,你就可以避免过时问题等。只需前往该网站,输入相关信息,获取他们生成的代码并将其放置在你的网站上。祝你好运!

1

可能值得更改 js.src 行。我认为这行代码似乎在寻找本地文件。

js.src = "https://connect.facebook.net/en_US/sdk.js";

我之前使用了以下这行代码,但是说实话我不确定它和其他代码有什么区别:

 js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1"

1
我在这个领域肯定不是专家,如果我完全错了,请评论一下,我会删除我的回答。谢谢! - LiamH

1

enter image description here

此外,为了使其正常工作,您的回调函数应该像下面这样放在顶部。
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '#############',
      xfbml      : true,
      version    : 'v2.6'
    });

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

  };



  (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'));
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接