2008-12-24 16 views
6

मैं अपनी व्यक्तिगत वेबसाइट पर एक पृष्ठ बनाने की कोशिश कर रहा हूं जो jQuery दोनों का उपयोग करता है और Facebook Connect लागू करता है।फेसबुक कनेक्ट, jQuery यूआई, और jQuery.noConflict()

दुर्भाग्य से, Facebook client API$ token का उपयोग करता है, जिसका मतलब है मैं jQuery.noConflict()

डबल-दुर्भाग्य से, मुझे पता चला गया है कॉल करने के लिए है कि कुछ पागल कारण के लिए और as Rick Strahl points out, jQuery UI doesn't respect noConlict(). At all. वास्तव में, यदि आप स्रोत कोड को देखो, तो, $ सब कुछ है।

मैं वास्तव में jQuery UI का उपयोग करने में सक्षम होना चाहता हूँ - विशेष रूप से, dialog() घटक, और draggable रूप में अच्छी तरह वास्तव में अच्छा होगा - लेकिन मैं और भी बहुत, मैं हाथ से संपादित करने के लिए चाहते हैं - और परीक्षण, और रखरखाव - jQuery यूआई के किसी भी हिस्से की अपनी प्रति।

यह yaks I've had to shave की श्रृंखला में सबसे हालिया है जो मुझे मेरे विट्स एंड पर है। कोई सुझाव? मदद!

+0

आप फेसबुक कनेक्ट एपीआई के किन संस्करणों का उपयोग कर रहे हैं समर्थित है? मैंने अभी इसे डाउनलोड किया है और ऐसा लगता है कि यह एफबी का उपयोग कर रहा है, पूरे डॉलर में नहीं। शायद मुझे कुछ याद आ रही है, हालांकि ... – tvanfosson

+0

सुनिश्चित नहीं है कि आपका क्या मतलब है ... मैंने अभी कार्यान्वयन के लिए अपने दस्तावेज़ों का पालन किया है। NoConflict() का उपयोग करना शुरू करने से पहले, मुझे अजीब विधि/ऑब्जेक्ट मिल रहा था, फेसबुक सामग्री से त्रुटियां मौजूद नहीं हैं। याद रखें कि वास्तविक त्रुटियां क्या थीं। –

उत्तर

18

आपके द्वारा संदर्भित पोस्ट काफी पुराना और पुराना है। 1.0jQuery UI की रिलीज में कुछ समस्याएं थीं और इसे रिपोर्ट के तुरंत बाद तय किया गया था।

सभी jQuery UI को closure में लपेटा गया है जो jQuery में $ के रूप में गुजरता है और इसलिए आंतरिक रूप से $ का उपयोग कर सकता है जबकि $ किसी अन्य चीज़ के लिए $ अन्य का उपयोग किया जाता है।

से http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Referencing_Magic_-_Shortcuts_for_jQuery

उपयोग निम्नलिखित तकनीक है, जो आप स्थायी रूप से अधिलेखित $ के बिना एक ब्लॉक कोड के के अंदर $ उपयोग करने के लिए अनुमति देता है:

(function($) { 
    /* some code that uses $ */ 
})(jQuery) 

नोट: यदि आप का उपयोग करते हैं इस तकनीक, आप अभी भी window.$ के माध्यम से प्रोटोटाइप का उपयोग कर सकते हैं उदाहरण के लिए, window.$('some_element_id')। आपके बंद होने के बाहर कोई भी फ़ंक्शन $ प्रोटोटाइप का आह्वान करेगा, भले ही आपके बंद होने के अंदर से बुलाया गया हो।

यही कारण है कि आप $ jQuery यूआई फ़ाइलें अंदर देखेंगे, लेकिन निश्चिंत रहें, jQuery UI (1.5+) के किसी भी हाल के संस्करण पूरी तरह से साथ jQuery.noConflict()

+0

धन्यवाद @rdworth, यह भी मेरी मदद की। –

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