看到"未捕获的ReferenceError:FB未在控制台中定义"

时间:2016-12-30 01:22:44

标签: javascript jquery facebook

在为那些不喜欢我们网页的人隐藏内容的过程中。首次使用Facebook SDK。这个想法是有一个号召性用语文本和按钮。单击按钮后,如果用户已经喜欢我们的页面,则会显示一段内容。如果没有 - 显示一个相似的按钮,并在点击后显示一段内容。

这是连接SDK

window.fbAsyncInit = function() {
FB.init({
  appId      : '348511868693215',
  xfbml      : true,
  version    : 'v2.8'
});
FB.AppEvents.logPageView();
};

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

这是检查

的实际代码
   FB.api({
    method:     "pages.isFan",
    page_id:        page_id,
    },  function(response) {
        console.log(response);
        if(response){
            //if liked
        $(".show-poll").click(function(){
        $(".actualpoll").show();
        });
        } else {
            $(".show-poll").click(function(){
        $(".likepage").show();
        });
        }
    }
    );

1 个答案:

答案 0 :(得分:0)

您的代码"用于检查"在加载SDK之前,即在FB可用之前执行。将代码移到window.fbAsyncInit函数中。一旦SDK可用,就会调用该函数。