0

谁能告诉我为什么回调不适用于下面给出的类似按钮代码?据我所知,该代码是 JavaScript 中设置的标准。初始化第一个按钮,然后异步加载API,并提供回调函数。

<div id="fb-root"></div>
<script>

window.fbAsyncInit=function(){
    FB.init({
        appId:'',//App ID
        status:false,// check login status
        cookie:true,// enable cookies to allow the server to access the session
        xfbml:true// parse XFBML
    });
    // Additional initialization code here

    FB.Event.subscribe('edge.create', function(response) {
        //alert("user_id1:<?php echo $user_id1; ?>, user_id2:<?php echo $user_id2; ?>");
        /*var data={
            action:"ap_buttons_give_points",
            author_id:<?php echo $author_id; ?>,
            post_id:<?php echo $post_id; ?>,
            type:"like"
        }

        jQuery.post("<?php echo $ajax_url; ?>",data,function(resp){

        });*/
    alert('You just liked the page!');
});

    FB.Event.subscribe('edge.remove', function(response) {
        /*var data={
            action:"ap_buttons_take_points",
            author_id:<?php echo $author_id; ?>,
            post_id:<?php echo $post_id; ?>,
            type:"like"
        }

        jQuery.post("<?php echo $ajax_url; ?>",data,function(resp){
            //alert("fb remove:"+resp);
        });*/
    alert('You just unliked the page!');
});
};

// Load the SDK Asynchronously
(function(d){
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
}(document));
</script>
4

2 回答 2

0

我唯一一次发生这种情况是在我使用 iframe 版本的 Like 按钮时。我发现回调根本不适用于该版本。如果是这种情况,您需要使用此处找到的 Javascript SDK 版本,使用 XFBML 或 HTML5:

<fb:like send="true" width="450" show_faces="true"></fb:like>

或者

<div class="fb-like" data-send="true" data-width="450" data-show-faces="true"></div>
于 2012-07-10T16:58:27.470 回答
0

是的,代码看起来不错。我有点遇到同样的问题,但只有像 fb 这样的按钮,iframe 版本。我在您的示例中没有看到 fb 按钮,所以我不知道您使用的是哪一个...所以,根据我的经验,请使用标准的 fb 之类的。

于 2012-07-10T16:59:00.270 回答