2008-10-04 17 views
8

मैं एक पूर्ण कार्यान्वयन की तलाश नहीं कर रहा हूं, मुझे इसमें दिलचस्पी है कि वे इसे कैसे करते हैं। मुझे पता है कि वे जीडब्ल्यूटी का उपयोग करते हैं, लेकिन मुझे अधिक निम्न स्तर का जवाब चाहिए। नैतिक रूप से, जब आप पॉपआउट लिंक पर क्लिक करते हैं तो मैं सोचकर शुरू करूंगा कि वे बस एक नई विंडो खोलें और इसमें सामग्री कॉपी करें। ऐसे कई कारण हैं जो कि अच्छी तरह से काम नहीं करेंगे, इसलिए मैं सोच रहा हूं कि अगर कोई जानता है या इस पर विचार है कि वे यह कैसे करते हैं या यह कैसे किया जा सकता है।मैं जीमेल में चैट विंडो की पॉप आउट कार्यक्षमता को कैसे कार्यान्वित कर सकता हूं?

उत्तर

12

मुझे हाल ही में एक ऐप में इस समस्या को हल करने की आवश्यकता है। WindowMsg (नीचे लिंक देखें) जबकि मुझे यकीन है कि वहाँ अन्य तरीकों से एक ही कार्य को पूरा कर रहे हैं हूँ, कि प्लगइन thusly काम करता है::

  • पहले आप मुझे चाल करने के लिए इस महान थोड़ा jQuery प्लगइन का उपयोग कर समाप्त हो गया window.open
  • का उपयोग करके अपनी मूल विंडो से एक नई बाल विंडो बनाएं, आप window.open
  • द्वारा लौटाई गई विंडो ऑब्जेक्ट का संदर्भ सहेजते हैं, आप बच्चे विंडो में लाइब्रेरी विधि को कॉल करते हैं जो लाइब्रेरी के लिए एक छिपी हुई फॉर्म जोड़ता है स्टोर डेटा
  • आप पैरेंट विंडो में लाइब्रेरी विधि को कॉल करते हैं जो window.document.forms का उपयोग करता है ताकि बच्चे के जीत पर फॉर्म फ़ील्ड पॉप्युलेट हो सके डॉव (लाइब्रेरी इन सभी चीजों को सारणीबद्ध करती है ताकि आप यह भी नहीं जान सकें कि जब तक आप स्रोत को नहीं देखते थे तब तक एक फॉर्म शामिल था) window.document.forms सभी प्रमुख ब्राउज़रों पर समान काम करता है, इसलिए एक्स-ब्राउज़र संगत
  • में यह अमूर्तता
  • आखिरकार, बाल खिड़की विंडो.ऑनर का उपयोग करके अपनी मूल विंडो पर वापस संदर्भित करती है और माता-पिता
  • पर एक समांतर छिपे हुए फॉर्म के माध्यम से वापस संवाद कर सकती है। पुस्तकालय एक सुविधाजनक सहायक लागू करता है जो प्रत्येक पक्ष पर चलाने के लिए कॉलबैक फ़ंक्शन लेता है कॉलबैक श्रृंखला

लाइब्रेरी के साथ काम करने के अपने अनुभव में, यह बहुत अच्छा होगा अगर उन्होंने JSON.org से JSON 2 lib शामिल किया होगा। बॉक्स के बाहर, WindowMsg केवल आपको विंडोज़ के बीच स्ट्रिंग संदेश भेजने की अनुमति देता है, लेकिन JSON 2 lib के कुछ बहुत ही सरल उपयोग के साथ, मैं इसे विंडोज़ के बीच पूर्ण JSON ऑब्जेक्ट भेजने की अनुमति देने के लिए हैक करने में सक्षम था। मैं अधिक परिपक्व पुस्तकालयों (जैसे कि जो भी Google उपयोग करता है) में शर्त लगाती है कि उस प्रकार का क्रमबद्धता और डी-सीरियलाइजेशन बेक किया गया है।

मैं इस लिंक को यहां डाल रहा हूं क्योंकि किसी कारण से, स्टैक ओवरफ्लो फॉर्मेटर इसे एंकर लिंक में बदल देता है कोई बंद टैग नहीं है और मैं नहीं चाहता कि मेरी पूरी पोस्ट एक विशाल हाइपरलिंक हो!

WindowMsg: http://www.sfpeter.com/2008/03/13/communication-between-browser-windows-with-jquery-my-new-plugin/

+0

पहले WindowMsg के बारे में नहीं सुना था, इसे जांचना चाहिए, चीयर्स! – ConroyP

+0

दुर्भाग्य से ** WindowMsg ** के लिए लिंक टूटा हुआ है - क्या आपके पास दूसरा है, या आप अपने उत्तर में थोड़ा सा उदाहरण जोड़ सकते हैं? (यानी एक कोड नमूना) – Matt

1

मैं कहूंगा कि सबसे आसान तरीका है सर्वर पर संग्रहीत डेटा (जो आप शायद पहले से ही करते हैं) के लिए किया जाएगा, तो बस नई विंडो है कि डेटा पुनः प्राप्त।

बेशक यह उस पाठ-बॉक्स की सामग्री जैसी चीजों को जारी नहीं रखेगा जिसमें उपयोगकर्ता इनपुट है, इसलिए खिड़की के लिए क्या है, इस पर निर्भर करता है, यह अव्यवहारिक हो सकता है .. लेकिन सबसे आसान विकल्प की कोशिश करना हमेशा अच्छा होता है!

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

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