1

サイトに Facebook コメント プラグインを埋め込んでいますが、何らかの理由でコメント プラグインが次のように永久に読み込まれる状態でスタックしています。

Facebook コメント プラグインの永久ロード

Facebookの問題なのか、私のコードなのかわかりません。<body>開始タグの直後にあるものは次のとおりです。

<div id="fb-root"></div>
<script>
   window.fbAsyncInit = function () {
      FB.init({ appId: '1234567890', cookie: true, oauth: true });
   };
   (function (d) {
      var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
      if (d.getElementById(id)) { return; }
      js = d.createElement('script'); js.id = id; js.async = true;
      js.src = "//connect.facebook.net/en_US/all.js";
      ref.parentNode.insertBefore(js, ref);
   } (document));
</script>

(1234567890 は、実際の appID の場所です)

Facebook コメント プラグインを表示したいページには、次のようなものがあります。

<div class="fb-comments" data-href="http://mydomain.com" 
     data-num-posts="2" data-width="580"></div>

私が知る限り、これはすべてうまくいくはずです。ただし、これに関する FB のバグについて言及したことはありません。また、他のサイトで問題が発生したこともありません。だから私はそれが私のコードだと思いますか?

FB開発者サイトのコードジェネレーターによって提供された正確なコードを使用してみました:

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

残念ながら、これもうまくいきません。

私を正しい方向に向ける助けが欲しいです!

更新: AppID をこのフィドル ( http://jsfiddle.net/Rw79Q/ ) に配置してみましたが、動作します。したがって、コードに問題の原因となっているものがあります。それが何であるかわからないので、ここでコード全体を共有することはできません.

4

1 に答える 1

1
window.fbAsyncInit = function () {
   ({ appId: '1234567890', cookie: true, oauth: true });
};

その関数の本体は実際には引数になるはずではありませんか? ({ appId: '1234567890', cookie: true, oauth: true });関数本体でオブジェクトリテラルを作成し、それに対して何もしません。これは次のように書くことと同じです:

window.fbAsyncInit = function () {};

これは役に立たない。

コードの残りの部分は機能しているように見えますが、現時点でテストするための有効なアプリ ID/ドメインが手元にありません。このフィドルにアプリ ID とドメインをドロップして、動作するかどうかを確認します: http://jsfiddle.net/Rw79Q/


チャットの議論から、ページはライブサーバー上にある必要があるようです。そうしないと、「無限の読み込み」動作が発生します。file:ローカルURIを使用して動作を再現できました。これを本番環境にプッシュすると、問題が解消されることを願っています。

于 2012-05-08T09:11:29.767 に答える