0

「ライトボックス」内に Facebook のコメントを追加したいのですが、コメントが読み込まれません。 jQueryを使用した私のライトボックス関数、コメントはロードされません..plzは何かを提案します..これが私のコードです。

fununction show_image(){
var div_comments = jQuery("<div style=\"float:right;\"></div>")
            jQuery("#lightbox").append(div_comments);
var fbcomments = jQuery("<div class=\"fb-comments\" data-href=\"http://example.com/comments\" data-numposts=\"5\"></div>");
            div_comments.append(fbcomments);   }

画像のクリックイベントで、show_image() が呼び出されます。Facebook コメントを読み込む関数を Ready 関数で呼び出しました。Facebook コメントを読み込む関数は次のとおりです。

(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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

どこが間違っているか教えてください

4

1 に答える 1

0

率直に言って、これを解決したかどうかはわかりません。「コメントが読み込まれない」という言葉の意味がわかりません。あなたが意味することができる2つのことがあります:

1) 実際のコメント ボックスが読み込まれません。表示されません。

2) コメント ボックスが読み込まれるが、コメントが入力されない

ここに私の提案があります:

1) -- これはおそらく、コメント div に 'data-width' 属性がないように見えるためです。次のようなことを試してください:

var fbcomments = jQuery("<div class=\"fb-comments\" data-href=\"http://example.com/comments\" data-numposts=\"5\" data-width=\"700\"></div>");

ここでの問題は、コメントに幅を設定していないため、コメント内に存在する寸法がないことです。ページを読み込んで要素を調べると、実際にはコメント ボックスが追加されますが、レンダリングされないことがわかります。これは、次元がないためです。より良い説明がないため、それはコンピューターのメモリ内の「アイデア」としてのみ存在します...それは理論上のオブジェクトです。理論上のオブジェクトをレンダリングするには、寸法が必要です。また、この場合の「データ幅」はピクセル単位であることに注意してください。必要に応じて、その番号を自由に変更してください。幅を動的に変更して、現在の画像の幅にサイズ変更するところまで行きました。

2) -- これは、Facebook のコメントを読み込むための関数に ID が設定されていないことが原因である可能性が最も高いです。適切な ID を取得する方法については、このビデオを参照してください -- http://www.youtube.com/watch?v=WNHfVdK8xik --。基本的に、Facebook 開発者ページに移動し、そこで新しいアプリを作成して、Facebook が ID 番号を生成できるようにする必要があります。次に、その ID を次のようにコメント読み込み関数に導入します。

(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=207663346095927";
    fjs.parentNode.insertBefore(js, fjs);
}
    (document, 'script', 'facebook-jssdk'));

上記のコードでは、「207663346095927」が私の固有の ID です。アプリを作成したときに facebook が生成した ID を導入する必要があります.....

(笑)私のIDは使わないでください(笑)

とにかく、これが役立つことを願っています。幸運を!

于 2014-01-10T19:19:58.920 に答える