2009-09-22 21 views
6

पेज लोड के बाद, मैं एक HTML खंड को खींचने के लिए AJAX अनुरोध कर रहा हूं जिसमें एक फेसबुक उपयोगकर्ता प्रोफ़ाइल चित्र का प्रतिनिधित्व करने वाले टैग शामिल हैं। मैं परिणाम को डोम में एक बिंदु में जोड़ता हूं लेकिन लोगो लोड नहीं होते हैं, बल्कि मैं जो डिफ़ॉल्ट रूप से देखता हूं वह डिफ़ॉल्ट सिल्हूट है।फेसबुक लोड हो रहा है fb: फेसबुक में AJAX के माध्यम से प्रोफाइल-तस्वीर कनेक्ट साइट

<div class="status Accepted"> 
    <fb:profile-pic class="image" facebook-logo="true" linked="true" size="square" uid="1796055648"></fb:profile-pic> 
    <p> 
    <strong>Corona Kingsly</strong>My Status Update<br/> 
    <span style="font-size: 0.8em">52 minutes ago</span> 
    </p>   
</div> 

कोई भी विचार:

यहाँ कैसे मैं HTML है कि मैं कर रहा हूँ जोड़कर इस तरह डिफ की एक सूची है jQuery

$.ajax({ 
    url: "/facebookprofiles" 
    success: function(result) { 
    $('#profiles').append(result); 
    } 
}); 

के साथ HTML हिस्सा लोड हो रहा है कर रहा हूँ बस है? मुझे लगता है कि डोम लोड होने के बाद एफबी टैग संसाधित नहीं किए जा रहे हैं। क्या ऐसा करने का कोई तरीका है? मुझे अपने फायरबग कंसोल में कोई अपवाद या त्रुटियां नहीं दिखाई दे रही हैं।

धन्यवाद

उत्तर

8

प्रथम प्रयास

सुनिश्चित नहीं हैं कि अगर यह एक बहुत मदद करता है, लेकिन यहाँ पर अजाक्स + FBML एक लेख है: http://wiki.developers.facebook.com/index.php/FBJS#Creating_FBML_Elements

विशेष रूप से, शायद आप setInnerFBML उपयोग कर सकते हैं () विधि


तो मुझे लगता है कि init फ़ंक्शन fbml को पार करता है। तो स्पष्ट सवाल यह है कि यदि आप init के बाद fbml डालें तो fbml (या केवल नए fbml को पार्स करें) को फिर से पार्स करने के लिए आपको फेसबुक की जावास्क्रिप्ट लाइब्रेरी कैसे मिलती है।

ऐसा लगता है कि इस सूत्र में मदद मिल सकती है: http://forum.developers.facebook.com/viewtopic.php?id=22245

यहाँ हालांकि वहां मंच पर अधिक संदर्भ है प्रासंगिक कोड प्रतीत होता है:

if (FB.XFBML.Host.parseDomTree) 
    setTimeout(FB.XFBML.Host.parseDomTree, 0); 
+0

मुझे यह उल्लेख करना चाहिए था कि मैं फेसबुक कनेक्ट का उपयोग कर रहा हूं। मैं setInnerFBML() से संबंधित सबकुछ पर जुड़ा हुआ हूं लेकिन यह एफबीजेएस का हिस्सा है और मैं नहीं देख सकता कि आप एफबी के बाहर फेसबुक कनेक्ट का उपयोग करते समय इसका लाभ कैसे उठा सकते हैं। – mbrevoort

+0

अद्भुत! यह काम करता है। धन्यवाद! – mbrevoort

+0

उत्कृष्ट जवाब! मुझे जिस चीज की जरूरत थी! आपके लिए उपरोक्त! –

6

FB.XFBML.Host.parseDomTree किया मेरे लिए काम नहीं करो शायद यह नई एपीआई में बदल गया है। क्या काम किया था:

FB.XFBML.parse(document.getElementById('foo')) 

या

FB.XFBML.parse() 

अगर आप पार्स पूरे पृष्ठ चाहते हैं।

+0

यह मुझे – Pbearne

+0

@ उपयोगकर्ता 239427 आपने इन कोडों को कोड कहां रखा था ?? पृष्ठ पर एक स्क्रिप्ट कॉल के अंदर जो AJAX लोड div के अंदर लोड हो रहा है .. या मूल स्क्रिप्ट पेज पर? –

0

मैं MVC3 साथ माइक्रोसॉफ्ट वेब सहायकों (जो फेसबुक सहायकों शामिल हैं)

उस्तरा वाक्य रचना

@Facebook.GetInitializationScripts() 

ouputs

<script type="text/javascript"> 
     window.fbAsyncInit = function() { 
      FB.init({ appId: '115631105198333', status: true, cookie: true, xfbml: true }); 
     }; 
     (function() { 
      var e = document.createElement('script'); e.async = true; 
      e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
      document.getElementById('fb-root').appendChild(e); 
     }()); 

     function loginRedirect(url) { window.location = url; } 
    </script> 

उपयोग कर रहा हूँ तो मैं

कॉल करने के लिए की जरूरत
window.fbAsyncInit(); 

फेसबुक सामग्री को फिर से पार्स करने के लिए।

संबंधित मुद्दे