javascript - 看到 "Uncaught ReferenceError: FB is not defined in console"

标签 javascript jquery facebook

正在为那些还不喜欢我们页面的人 Conceal 一段内容。第一次使用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();
        });
        }
    }
    );

最佳答案

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

关于javascript - 看到 "Uncaught ReferenceError: FB is not defined in console",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41389423/

相关文章:

javascript - Mootools:将 HTML 文本添加到元素

jquery - 如何在使用 jquery 滚动时实现颜色转换

javascript - Facebook 聊天框不会在页面之间重新加载

javascript - Facebook 登录可以在 Safari 中使用,但不能在 UIWebView 中使用

javascript - 我可以多次调用 fbq ('init' ) 以使用新的像素功能吗?

javascript - 如何通过名称-javascript/jquery 将焦点设置在下拉菜单上

javascript - 为什么带有 onclick 的按钮内的 img 不触发脚本?

javascript - Reactjs:类似于 jQuery `on()` 的事件委托(delegate)?

javascript - jQuery 代码冲突

javascript - jQuery 鼠标点击计数器