6

Facebookの「いいねボックス」プラグインとその他のFBコードをajaxでロードされたページに表示したいと思います。

通常のhtmlページにロードすると正常に動作しますが、ajaxロードページに配置しようとすると、最初にロードするだけで、リンクをクリックして2回目にページをロードするとロードされませんページを読み込んでいますか?キャッシュをクリアした場合にのみページが読み込まれます。

インデックス ファイルは fb コードを開始します。

FB.init({
  appId      : '277065222', // App ID
  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  xfbml      : true,  // parse XFBML
  oauth      : true
});

次のコードで ajax ページをロードします。

 function loadFacebook(){

$('#container').load('http://www.manmade.se/manmade/guiden/facebook_onweb.html');
FB.XFBML.parse();
}

そして、ajax をロードしたページには、Facebook の「いいね!」ボックスなどの Facebook コードがあります。

4

3 に答える 3

14

fb スクリプトを呼び出した後、ページの読み込みで fb par スクリプトを呼び出すことができます

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


$(document).ajaxComplete(function () {
    try {
        FB.XFBML.parse();
    } catch (ex) { }
});
于 2012-09-19T12:40:17.403 に答える
4

reloadlike.html

<div class="fb-like fltLeft" data-href="http://yrl_like" data-send="false" data-layout="button_count" data-width="87" data-show-faces="false"></div>

これは毎回動作するはずです。

あなたのコールバックは正しくないと思います。

$('#container').load('reloadlike.html', function() {
    FB.XFBML.parse();
});
于 2012-04-06T09:01:52.560 に答える
0

bugrasitemkar のサンプル コードを少し変えて、ajax コードの最後に、次の jquery スクリプトを含めると、次のように動作します。

<script type="text/javascript">
    $(document).ready(function() {
        try {
            FB.XFBML.parse();
        } catch (ex) { }
    });
</script>
于 2013-06-13T03:09:27.267 に答える