Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Facebook like box get an error FB.getLoginStatus() called before calling FB.init()

I'm using the module "facebook like box" in my homepage:

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

I put this code immediately after body tag and I put this in left side:

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

All works done, but I receive this error in console: FB.getLoginStatus() called before calling FB.init()

I've just read other conversation where i read that "You need to load the api asynchronously" and I followed their instructions with no result.

How can I solve it?

like image 895
jack.cap.rooney Avatar asked Oct 13 '12 14:10

jack.cap.rooney


1 Answers

This happen because you don't add an appId to the url you set for facebook.

See the complete code Facebook generate here: https://developers.facebook.com/docs/reference/plugins/like/

As you'll see, the url is written like this: //connect.facebook.net/fr_CA/all.js#xfbml=1&appId=YOUR_APP_ID

The presence of this appId, will automatically call FB.init() with basic app settings. But as you removed it, FB isn't calling it's init function, and call .getLoginStatus() directly.

So, go create a app for your website, and add the app Id to the code snippet in order to remove this error.

Hope this help !

like image 96
Simon Boudrias Avatar answered Oct 26 '22 23:10

Simon Boudrias