7

ホームページでモジュール「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.getLoginStatus() called before calling FB.init()

「APIを非同期にロードする必要がある」と読んだ他の会話を読んだところですが、彼らの指示に従った結果はありませんでした。

どうすれば解決できますか?

4

1 に答える 1

9

これは、facebook に設定した URL に appId を追加していないために発生します。

ここで 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()直接呼び出しています。

したがって、Web サイト用のアプリを作成し、アプリ ID をコード スニペットに追加して、このエラーを削除してください。

この助けを願っています!

于 2012-10-13T18:47:20.977 に答える