2012-09-20 11 views
7

पर कॉल करने से पहले बुलाया जाता है, मैं बस अपनी साइट पर एक मूल फेसबुक जैसे बटन चाहता हूं। मैं प्रति फेसबुक साइट के निर्देशों का पालन करता हूं (http://developers.facebook.com/docs/reference/plugins/like/)। मैंने HTML5, XFBML, और iFrame तरीकों की कोशिश की, कोई भी खुशी नहीं। तो मैंने सोचा कि शायद यह मेरी साइट हस्तक्षेप के साथ कुछ है। इसलिए मैंने नीचे एक बेयर-हड्डियों का HTML पृष्ठ बनाया और यह मुझे FB.init() त्रुटि कॉल करने से पहले FB.getLoginStatus() कहलाता है।फेसबुक जैसे बटन प्रदर्शित नहीं कर रहा है :: FB.getLoginStatus() को FB.init()

<html> 
<body> 
<div id="fb-root"></div> 
<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/en_US/all.js#xfbml=1"; 
fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 
<div class="fb-like" data-href="http://www.facebook.com/[mypage]" data-send="false" data-width="450" data-show-faces="false"></div> 
</body> 
</html> 

अद्यतन: मैं यह सब सामान हटाया ऊपर वापस iFrame केवल विधि के पास गया और यह काम करता है, लेकिन केवल फ़ायरफ़ॉक्स में। क्रोम और आईई 9 मुझे अभी भी कुछ भी नहीं मिला है लेकिन कोई त्रुटि रिपोर्ट नहीं हुई है। फ़ायरफ़ॉक्स में केवल नीचे काम करने वाली यह पंक्ति क्यों है (जाहिर है [myPage] भाग को बदल दिया गया है)?

<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F[myPage]&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> 
+0

जेएस एसडीके को एम्बेड करते समय आपने ऐप आईडी नहीं दी है - लेकिन यह अनिवार्य है, अन्यथा इसे ठीक से शुरू नहीं किया जा सकता है। – CBroe

+0

आह, धन्यवाद। छोटी प्रगति लेकिन अभी भी वहां नहीं है। तो मैं देखता हूं कि फेसबुक कहां कहता है: आपको एसडीके शुरू करने के लिए एक ऐप आईडी की आवश्यकता होगी, जिसे आप ऐप डैशबोर्ड से प्राप्त कर सकते हैं। "ऐप डैशबोर्ड" एक लिंक है जो https://developers.facebook.com/apps/ पर इंगित करता है लेकिन जब मैं डांग चीज पर क्लिक करता हूं तो यह मुझे https://www.facebook.com/[mysite पर रीडायरेक्ट करता रहता है] – gfrobenius

+0

आप करेंगे ऐप्स बनाने से पहले, पहले एफबी के साथ अपना खाता सत्यापित करना होगा। – CBroe

उत्तर

3

सुनिश्चित नहीं है कि ऐप आईडी यहां समस्या है। मैं यह भी अजीब त्रुटि संदेश का अनुभव कर रहा हूं, और मैं एफबी डेवलपर पृष्ठ द्वारा प्रदान की गई एफबी लाइक बटन सोशल प्लगइन के लिए मानक कोड भी शामिल कर रहा हूं।

मैं तो plugin configuration page के माध्यम से फिर से चला गया और फिर से कोड है, जो वैसे भी अपरिवर्तित उत्पन्न कोड के एचटीएमएल भाग में थोड़ा अंतर देख रहा था की नकल की (एक <fb:like> टैग किया गया था, अब <div class="fb-like"> है)। वैसे भी त्रुटि अभी भी बनी हुई है।

तब मैं सिर्फ महसूस किया कि कुछ ही हफ्तों में अमेरिकन प्लान की तरह बटन को स्थायी रूप से विस्थापित करेगा निर्मित ओपन ग्राफ़ के लिए कार्रवाई की तरह, और अगर मैं इसे सही ढंग से मिल गया तुम वैसे भी एक ऐप्लिकेशन आईडी बनाने के लिए है

उस बिंदु पर त्रुटि अभी गायब हो सकती है। और ऐसा लगता है कि कुछ भी कुछ हफ्तों में गायब होने पर कुछ भी ठीक कर देगा।

HTH

+1

बस एक ही चीज़ का अनुभव किया। एक परीक्षण ऐप बनाना और उस ऐप आईडी का उपयोग करके इसे ठीक किया गया। हो सकता है कि फेसबुक पहले से ही "ऐप आईडी होना चाहिए" चीज़ में चले गए हो? – koosa

1

फेसबुक डेवलपर पृष्ठ जहाँ हम जैसा बटन के लिए स्क्रिप्ट प्राप्त पर, फेसबुक) इस समस्या को init (लागू करने के रूप में अच्छी तरह (जो संभवतः को हल किया जा आवश्यकता होगी, के लिए कुछ भी नहीं कहना है, लेकिन आप क्या प्रयोग करेंगे एपीपी आईडी के रूप में यदि आपने init() फ़ंक्शन भी कहा है ??)।

और वर्क बटन को काम करने के लिए वैसे भी एक एपीपी आईडी की आवश्यकता नहीं है। मेरा मानना ​​है कि फेसबुक हमें सिर्फ पसंद बटन कोड दे रहा है - भले ही init() फ़ंक्शन की अनुपस्थिति इस जेएस त्रुटि का कारण बन रही है (लेकिन स्पष्ट रूप से init() वास्तव में आवश्यक नहीं है!)।

यह लाइक बटन एपीआई की एफबी की तैनाती में कमी की तरह लगता है।

2

क्या आप इसे स्थानीय रूप से परीक्षण कर रहे हैं? खुद को डिबग करने और खोजने के बाद, मैंने इसे अपने वेबसर्वर पर परीक्षण करने का फैसला किया, और वॉयला, यह काम किया! :)

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