跟踪facebook喜欢的按钮

时间:2013-06-21 16:20:20

标签: javascript facebook-like

我的页面上有一个类似Facebook的按钮,我想跟踪它被点击的时间(以及由哪个用户等)。我在下面运行了javascript(提示警报“正在运行”),但它没有给出警告“你喜欢这个URL ...”,这是我将放置所有逻辑的地方:

$( document ).ready(function() {    
  (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/all.js#xfbml=1";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  window.fbAsyncInit = function() {
    alert("running")
    FB.Event.subscribe('edge.create',
      function(response) {
        alert('You liked the URL: ' + response);
      }
    );
  };
});

有人知道为什么在单击“喜欢”按钮时没有触发?

修改 我在尝试设置时引用此页面:https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

编辑2 我通过iframe添加了like按钮(按钮本身正常工作):

<span id="facebook-share-btn">
  <iframe src="//www.facebook.com/plugins/like.php?href=<%= item.short_path %>&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;font&amp;colorscheme=light&amp;action=like&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:48px; height:22px;" allowTransparency="true">
  </iframe>
</span>

1 个答案:

答案 0 :(得分:0)

事实证明,使用iframe方法回调不起作用(显然)。我已经切换到HTML5方法,它工作正常。

设置:

<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/all.js#xfbml=1";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  FB.init({appId: "myId", status: true, cookie: true});

</script>

喜欢按钮:

<div class="fb-like" 
     data-href="myurl.com" 
     data-send="false" 
     data-layout="button_count" 
     data-width="450" 
     data-show-faces="false">
</div>