0

我的页面上有一个类似 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 添加点赞按钮(按钮本身可以正常工作):

<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>
4

1 回答 1

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>
于 2013-06-21T17:37:25.983 回答