Facebook 点赞框在调用 FB.init() 之前调用 FB.getLoginStatus() 时出错

标签 facebook html facebook-like facebook-javascript-sdk

我在主页中使用“facebook like box”模块:

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

我将此代码紧跟在 body 标记之后,并将其放在左侧:

<div class="fb-like-box fb-box-laterale" href="http://www.facebook.com/RistorantiRomaRisto.it" data-href="http://www.facebook.com/platform" data-width="190" data-height="380" data-show-faces="true" data-stream="false" data-header="true"></div>

所有工作都已完成,但我在控制台中收到此错误:在调用 FB.init() 之前调用了 FB.getLoginStatus()

我刚刚阅读了其他对话,其中我读到“您需要异步加载 api”并且我按照他们的说明进行操作但没有结果。

我该如何解决?

最佳答案

发生这种情况是因为您没有将 appId 添加到您为 facebook 设置的 url。

在此处查看 Facebook 生成的完整代码:https://developers.facebook.com/docs/reference/plugins/like/

如您所见,url 是这样写的://connect.facebook.net/fr_CA/all.js#xfbml=1&appId=YOUR_APP_ID

此 appId 的存在将自动调用 FB.init() 进行基本应用设置。但是当你删除它时,FB 并没有调用它的 init 函数,而是直接调用 .getLoginStatus()

因此,为您的网站创建一个应用程序,并将应用程序 ID 添加到代码段以消除此错误。

希望对您有所帮助!

关于Facebook 点赞框在调用 FB.init() 之前调用 FB.getLoginStatus() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12873910/

相关文章:

ios - 对于使用 Facebook iOS SDK 的混合 SSO 场景,为我们自己的自定义用户记录生成密码/ key 的最佳方法是什么?

javascript - 如何使用 JS 将元素与窗口底部对齐

javascript - Facebook Like 和 Google +1 按钮在部分回发时消失

android - 使用适用于 Android 的 Facebook SDK 登录的 Facebook Like 按钮

javascript - Facebook 点赞数不显示

java - fragment 内的谷歌加登录按钮显示空指针异常 onclick

android - 明确共享不适用于帖子 - Facebook Android SDK Open Graph Story

javascript - Facebook 图 FB.login 连接对话框,取消事件

jquery - 无法跨浏览器获得日历的统一样式

html - 我如何使用 HTML CSS 绘制线条?