2011-11-11 11 views
58

जोड़ने की आवश्यकता क्यों है, हमें अपने फेसबुक एप्लिकेशन के भीतर टैग की ये जोड़ी जोड़ने की आवश्यकता क्यों है। टैग के इस जोड़े का क्या उपयोग है। मैंने एक ऐसा एप्लिकेशन बनाया जो एक विजय का उपयोग करता है, और यह अच्छा काम करता है भले ही मैंने इन टैग को मेरी स्क्रिप्ट के सामने नहीं जोड़ा। तो मुझे सच में आश्चर्य है कि हमें उन्हें जोड़ने की आवश्यकता क्यों है। धन्यवाद।हमें <div id="fb-root"></div>

उत्तर

45

यह डोम को तत्व संलग्न करने के लिए फेसबुक जावास्क्रिप्ट स्क्रिप्ट के लिए प्लेसहोल्डर है। इसके बिना जब संदर्भित फेसबुक स्क्रिप्ट चलती है तो इसमें तत्वों को संलग्न करने के लिए कहीं भी नहीं है।

आप देख सकते हैं कि एफबी-रूट प्रारंभिकरण के हिस्से के रूप में जोड़ा जाता है।

<script type="text/javascript"> 
     window.fbAsyncInit = function() { 
     FB.init({appId: 'xxxxxx', 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); 
     }()); 
    </script> 
+2

यह अविभाज्य जावास्क्रिप्ट का उपयोग करने का एक उदाहरण है। – Teddy

+0

हाय किसी को भी

नोटिस आपके https: // असुरक्षित होने का कारण होगा ?? जब मैं सीधे ब्राउजर को https: //.../myfb_app/ पर इंगित करता हूं तो फ़ाइल
पर सुरक्षित होने पर पार्स सुरक्षित नहीं है, लेकिन जब मैं इसे हटा देता हूं, तो पूरी फ़ाइल पार्स सुरक्षित के रूप में होती है। कोई सुझाव?? – alex

+5

क्या वे सीधे सिर में शामिल नहीं हो सके? –

31

अद्यतन: फेसबुक नहीं रह गया है की आवश्यकता है कि आप अपने HTML में <div id="fb-root"></div> शामिल हैं।

अब आप इसे हटा सकते हैं। फेसबुक जावास्क्रिप्ट एसडीके इसे अपने आप बनाता है, इसे BODY टैग में जोड़ रहा है। कंसोल में कोई चेतावनी नहीं दिखाई गई है, जैसा कि पहले किया गया था।

फेसबुक प्रलेखन भी अद्यतन किया गया है, अब <div id="fb-root"></div> आवश्यकता नहीं दिखा रहा है।

संस्करण 1.0 के लिए पुरानी प्रलेखन (<div id="fb-root"></div> से पता चलता): https://developers.facebook.com/docs/javascript/quickstart/v1.0

संस्करण 2.5 के लिए वर्तमान प्रलेखन (अब <div id="fb-root"></div> से पता चलता): https://developers.facebook.com/docs/javascript/quickstart/v2.5

+0

इसके अलावा हमें [इस] (http://stackoverflow.com/questions/24019877/fb-init-function-gives-wrong-version-error) जैसी समस्याएं प्रतीत होती हैं। – mgalgs

+0

@mgalgs: उन टिप्पणियों को पढ़ना, ऐसा नहीं लगता है कि किसी को ओपी के मुद्दे के कारण जो भी हो रहा था, उसके लिए कोई फिक्स मिला। इसलिए मैं नहीं कहूंगा कि div टैग जोड़ना कुछ भी ठीक है। अगर कोई समस्या थी, तो यह 2 साल हो गया है और मुझे यकीन है कि यह है फेसबुक द्वारा हल किया गया है। सबसे अच्छा विकल्प उनके कोड अनुशंसाओं का पालन करना है, जिसमें div टैग शामिल नहीं है। –

+0

v2.8 एक चेतावनी दिखाता है ... –

-1

यह Turbolinks 5. साथ और भी अधिक सरल हो जाता है तुम बस करने की जरूरत है fb-root div में जोड़ें और यह अनुरोधों के बीच जारी रहेगा। जावास्क्रिप्ट के साथ बेवकूफ की जरूरत नहीं है।

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