-1

私の問題は次のとおりです。

Ajax がロードされたページで facebook xml タグ (以下を参照) をロードすると、表示されません。

table2.php ページは次の div:<div id="update_div"></div>で Ajax によって読み込まれますが、表示されません。

これは、いいねボタンなどを印刷するために使用するタグです。<fb:like href="http://website_url.nl" send="true" layout="button_count" width="450" show_faces="false"></fb:like>

この問題の解決策が見つかりません。誰かがこの問題を解決できることを願っています。

私のページは次のコードのお尻です:

index.php

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" >
   <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
   <script type="text/javascript" src="/js/jquery.js"></script>
  <head>
   <script type="text/javascript">
   $.setDivContentAjax = function(){        
            var url = window.location.hash.replace( "#", ""); 
            var paramaters = null;
            try
            {
                var parameters = JSON.parse('{"' + decodeURI(url.replace(/&/g, "\",\"").replace(/=/g,"\":\"")) + '"}');
                //console.log(parameters);
            }
            catch(error) 
            {
            }

            targetdiv = $('#update_div');

            targetdiv.hide();
            $('#loading-image').show();

            $.ajax({
              url: '/includes/table2.php',
              context: targetdiv,
              type: "GET",
              timeout:18000, 
              data: parameters,
              success: function(data) {
                window.setTimeout(function() {$('#loading-image').hide(); targetdiv.html(data); targetdiv.show();} ,300);
              }

            });    
        }

        $(document).ready(function ()
        {   
            $.setDivContentAjax();

            $(window).bind('hashchange', function() {
                $.setDivContentAjax();
            });
        });
    </script>  
   </head>
  <body>
      <div id="loading-image" style="display:none; padding: 50px 0 50px 0; text-align: center;"><img src="/img/ajax-loader-circle.gif"></div>
  <div id="javascript" style="display:none;"></div>
  <div id="update_div"></div>
  </body>
</html>

table2.php

<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/nl_NL/all.js#xfbml=1&appId=APP_ID";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
 </script>
 <fb:like href="http://website_url.nl" send="true" layout="button_count" width="450" show_faces="false"></fb:like>
4

2 に答える 2

1

これは非常に簡単で、十分に文書化されています :) JS-SDK の FB.XFBML.parse メソッドを使用して、while ドキュメントまたは DOM の特定の部分を再解析するだけです!

https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse/

于 2013-01-24T10:59:43.507 に答える
0
The solution:

<script>
  success: function(data) {
    $('#loading-image').hide();
    targetdiv.html(data);
    targetdiv.show();
    FB.XFBML.parse();
  }
</script>
于 2013-01-24T14:20:08.037 に答える