2013-03-16 12 views
5

मैं https://developers.facebook.com/docs/reference/plugins/login/फेसबुक लॉग इन बटन का उपयोग कर AngularJS

अब, यह बटन एक दृश्य में प्रदर्शित किया जाता है पर दस्तावेज़ का उपयोग कर अपनी वेबसाइट पर फेसबुक लॉग इन बटन जोड़ने का प्रयास कर रहा हूँ। दृश्य तभी लोड होता है जब उपयोगकर्ता स्पष्ट रूप से वेबसाइट पर लॉगिन करने का अनुरोध करता है।

मैं HTML5 संस्करण का उपयोग कर रहा हूं। चरण 1 में, मुझे जावास्क्रिप्ट एसडीके शामिल करने के लिए कहा गया है - मैं टैग के तुरंत बाद यह करता हूं। यह मुख्य पृष्ठ में स्थित है जिसमें ng-view निर्देश शामिल है।

मैं दृश्य के अंदर लॉगिन बटन प्रस्तुत करने के लिए कोड डालता हूं। समस्या यह है कि यदि मैं मुख्य पृष्ठ में लॉगिन बटन पर क्लिक करके दृश्य पर नेविगेट करता हूं, तो दृश्य एफबी लॉगिन बटन प्रस्तुत नहीं करता है। हालांकि अगर मैं पृष्ठ को रीफ्रेश करता हूं (जिसमें लॉगिन दृश्य होता है), बटन प्रस्तुत करता है।

मैंने लॉगिन दृश्य में जावास्क्रिप्ट एसडीके के लिए कोड भी स्थानांतरित कर दिया है- बटन को प्रस्तुत करने से पहले और बाद में, लेकिन यह समस्या को हल नहीं करता है। केवल लॉगिन दृश्य को रीफ्रेश करते समय, बटन प्रदान किया जाता है।

तो,
एक) या तो मुझे पता है कि यह क्यों हो रहा है और समाधान या
ख) AngularJS में ताज़ा की जरूरत है; मुझे इसे देखने से पहले लॉगिन दृश्य को रीफ्रेश करने के लिए AngularJS तरीका जानने की आवश्यकता है ताकि (मुझे आशा है) लॉगिन बटन प्रदान किया जाता है।

+0

कृपया प्लंकर/जेएसफ़िल्ड के लिए एक लिंक पोस्ट करें। – Stewie

उत्तर

11

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

चूंकि आप यहां नियंत्रक पर डोम हेरफेर नहीं करेंगे, एक निर्देश संस्करण है।

angular.module("myApp", []).directive("fbLogin", function($rootScope) { 
    return function (scope, iElement, iAttrs) { 
     if (FB) { 
      FB.XFBML.parse(iElement[0]); 
     } 
    }; 
}; 
+1

ब्रिलियंट !! मैं इसे एक प्लंकर में डेमो करने के लिए संघर्ष कर रहा था और यह एक बचतकर्ता है! मैं निर्देश बनाना नहीं चाहता था इसलिए मैंने जो किया वह दृश्य में था जिसमें एफबी लॉगिन बटन प्रस्तुत करने के लिए div शामिल था, मैंने कोड के FB.XFBML.parse के साथ दृश्य के अंत में एक 'स्क्रिप्ट' टैग जोड़ा था (); और वह चाल है! बहुत धन्यवाद! – user109187

+0

क्या आपके पास Google Plus लॉगिन बटन का समाधान है? यद्यपि एक ही मुद्दा अलग सोशल नेटवर्क हालांकि ... – user109187

+0

मैनुअल पार्स, बूटस्ट्रैप फ़ंक्शन होना चाहिए। इसे दस्तावेज़ीकरण में शामिल किया जाना चाहिए, आपको इसके माध्यम से खोदना होगा। –

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