2012-07-03 9 views

उत्तर

116
  • window.opener विंडो window.open(...) बुलाया खिड़की जिसमें से यह
  • window.parent एक <frame> या
  • window.top में एक खिड़की की मूल को संदर्भित करता है कहा जाता है से सर्वोच्च खिड़की को संदर्भित करता है खोलने के लिए को संदर्भित करता है एक खिड़की या उप खिड़कियों की एक या अधिक परतों में नेस्ट

उन null हो जाएगा (शायद undefined) जब वे संदर्भ विंडो की स्थिति के लिए प्रासंगिक नहीं हैं। ("रेफरिंग विंडो" का अर्थ है विंडो जिसका संदर्भ जावास्क्रिप्ट कोड चलाया जाता है।)

+0

प्रतिक्रिया के लिए धन्यवाद @pointy। मेरे पास एक मुख्य पृष्ठ है जो पृष्ठ सबमिट पर 'window.open()' का उपयोग करके एक बच्चा खोलता है। अब यह बच्चा खिड़की एक और 'विंडो' ओपन() 'बंद करने वाले स्वयं के साथ एक और बाल खिड़की खोलती है। अब जब मैं अपना दूसरा बच्चा जमा करता हूं (पहला बच्चा अब मौजूद नहीं है), तो मैं अपने मुख्य पृष्ठ के पेज तत्वों तक पहुंच बनाना चाहता हूं। क्या यह दूसरे बच्चे से संभव है जब पहली बार मौजूद नहीं है? – Sriram

+3

@ श्रीराम: यह आपकी तरह की जानकारी है जो आपको अपने प्रश्न में डालने की ज़रूरत है, ताकि लोगों को पता चले कि आप कौन सी समस्या * वास्तव में हल करने की कोशिश कर रहे हैं। – josh3736

+4

@ श्रीराम, इंटरमीडिएट पेज दूर जाने से पहले आपको 'window.opener.opener' को पकड़ना होगा। – Pointy

19

मुझे लगता है कि आपको अपने प्रश्न में कुछ संदर्भ जोड़ने की आवश्यकता है। हालांकि, इन चीजों के बारे में बुनियादी जानकारी यहां पाया जा सकता:

window.opener https://developer.mozilla.org/en-US/docs/Web/API/Window.opener

मैं window.opener ज्यादातर का उपयोग किया है जब एक नई विंडो एक संवाद है जो उपयोगकर्ता इनपुट की आवश्यकता के रूप में काम खोलने, और जरूरत पारित करने के लिए मुख्य विंडो पर जानकारी वापस। हालांकि यह मूल नीति द्वारा प्रतिबंधित है, इसलिए आपको यह सुनिश्चित करना होगा कि संवाद से सामग्री और ओपनर विंडो दोनों ही मूल से लोड हो जाएं।

window.parent https://developer.mozilla.org/en-US/docs/Web/API/Window.parent

मैं इस का उपयोग किया है ज्यादातर जब IFrames विंडो ऑब्जेक्ट उन जिसमें के साथ संवाद करने की जरूरत है कि साथ काम करना।

window.top https://developer.mozilla.org/en-US/docs/Web/API/Window.top

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

यदि आप अपने प्रश्न में कुछ और विवरण जोड़ते हैं, तो मैं अन्य प्रासंगिक उदाहरणों की आपूर्ति कर सकता हूं।

अद्यतन: आपकी स्थिति को संभालने के कुछ तरीके हैं।
आपके पास निम्न संरचना:

  • मुख्य विंडो
    • संवाद 1
      • संवाद 2 संवाद 1 तक
    • खोला

संवाद 1 कोड चलता है डायलॉग 2 बनाने के बाद डायलॉग 2 खोलने के लिए डायल करें जी 1 संवाद 2 पर एक संपत्ति सेट करता है जो संवाद 1 ओपनर का संदर्भ देता है।

तो यदि आप "बालविंडो" संवाद 2 विंडो ऑब्जेक्ट के लिए चर है, और "विंडो" संवाद 1 विंडो ऑब्जेक्ट के लिए चर है। संवाद 2 खोलने के बाद, लेकिन संवाद को बंद करने 1 एक काम इस के समान बनाने से पहले:

childwindow.appMainWindow = window.opener 

dialog2 अंदर चल कोड से तो काम से ऊपर, करीब संवाद 1. करने के बाद, आप उपयोग करने के लिए सक्षम होना चाहिए मुख्य विंडो, विंडो ऑब्जेक्ट को संदर्भित करने के लिए window.appMainWindow

उम्मीद है कि इससे मदद मिलती है।

+0

धन्यवाद @ मार्क। मेरे पास एक मुख्य पृष्ठ है जो पृष्ठ सबमिट पर 'window.open()' का उपयोग करके एक बच्चा खोलता है। अब यह बच्चा खिड़की एक और 'विंडो' ओपन() 'बंद करने वाले स्वयं के साथ एक और बाल खिड़की खोलती है। अब जब मैं अपना दूसरा बच्चा जमा करता हूं (पहला बच्चा अब मौजूद नहीं है), तो मैं अपने मुख्य पृष्ठ के पेज तत्वों तक पहुंच बनाना चाहता हूं। क्या यह दूसरे बच्चे से संभव है जब पहली बार मौजूद नहीं है? – Sriram

+5

[w3schools से बचा जाना चाहिए।] (Http://w3fools.com/) – josh3736

+0

अद्यतन उत्तर। @ josh3736 - मुझे नहीं लगता कि यह टिप्पणी सहायक कैसे है। मैं किसी को भी w3schools प्रमाणीकरण प्राप्त करने की सलाह नहीं दे रहा हूं। यहां हर कोई जानता है कि कैसे Google को खोलना है और window.opener, window.top, और window.parent की मूल परिभाषा प्राप्त करें। उपरोक्त लिंक का उपयोग करें या नए संदर्भ ढूंढें, लेकिन ऐसी जानकारी को डुप्लिकेट करने में शायद ही कोई बिंदु है जो इन गुणों को यहां परिभाषित करता है। –

3

शीर्ष, अभिभावक, सलामी बल्लेबाज (साथ ही खिड़की, स्वयं, और आईफ्रेम) सभी विंडो ऑब्जेक्ट्स हैं।

  1. window.opener -> वर्तमान पॉपअप विंडो खोलने या लॉन्च करने वाली विंडो लौटाता है।
  2. window.top -> यदि आप फ़्रेम का उपयोग कर रहे हैं, तो शीर्षतम विंडो लौटाता है, यह फ़्रेमसेट विंडो है, अगर फ़्रेम का उपयोग नहीं करते हैं, तो यह विंडो या स्वयं जैसा ही है।
  3. window.parent -> वर्तमान फ्रेम या आईफ्रेम के मूल फ्रेम को लौटाता है। यदि आपके पास नेस्टेड फ़्रेम हैं तो पैरेंट फ्रेम फ़्रेमसेट विंडो या कोई अन्य फ्रेम हो सकता है। यदि फ्रेम का उपयोग नहीं करते हैं, तो माता-पिता वर्तमान विंडो या स्वयं
1

जब आप पॉपअप विंडो से निपट रहे हैं। तोपर एक महत्वपूर्ण भूमिका निभाता है, क्योंकि हमें मूल पृष्ठ के साथ-साथ बच्चे पृष्ठ के साथ सौदा करना पड़ता है , जब हमें मूल पृष्ठ पर मूल्यों का उपयोग करना होता है तो हम window.opener का उपयोग कर सकते हैं या हम लोड होने के समय बच्चे विंडो या पॉपअप विंडो पर कुछ डेटा चाहते हैं, फिर हम विंडो.ओनर

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