2013-01-24 47 views
-1

我的問題是如下:Facebook上的JavaScript像按鈕(XML,XFBML)

時,我會加載一個網站的XML標籤(見下文),在使用Ajax加載頁面會它不會顯示。

table2.php頁面將在下面的div中加載Ajax:<div id="update_div"></div>,但不會顯示。

這是我的標籤將用於打印像按鈕等:<fb:like href="http://website_url.nl" send="true" layout="button_count" width="450" show_faces="false"></fb:like>

我不能找到這個問題的任何解決方案,並希望有人能幫助白衣TIS問題。

我的頁面代碼屁股如下:

的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> 
+0

_「我不能找到這個問題的任何解決方案」 _ - 右邊,只討論輕車熟路...... https://developers.facebook.com/docs/reference/javascript /FB.XFBML.parse/ – CBroe

+0

這將起作用,但ajax沒有刷新頁面來解析xml。我的頁面無法重新加載時如何加載解析器? –

回答

0
The solution: 

<script> 
    success: function(data) { 
    $('#loading-image').hide(); 
    targetdiv.html(data); 
    targetdiv.show(); 
    FB.XFBML.parse(); 
    } 
</script>