जावास्क्रिप्ट में उपयोग करने के लिए कब window.opener
/ window.parent
/ window.top
?
जवाबों:
window.opener
उस विंडो को संदर्भित करता है जिसे उस विंडो window.open( ... )
को खोलने के लिए कहा जाता है जिससे इसे बुलाया जाता हैwindow.parent
एक <frame>
या में एक खिड़की के माता पिता को संदर्भित करता है<iframe>
window.top
<iframe>
उप-विंडो की एक या अधिक परतों में नेस्टेड विंडो से सबसे ऊपरी विंडो को संदर्भित करता हैउन हो जाएगा null
(या शायद undefined
) जब वे बात कर खिड़की की स्थिति के लिए प्रासंगिक नहीं कर रहे हैं। ("संदर्भ विंडो" का अर्थ वह विंडो है जिसके संदर्भ में जावास्क्रिप्ट कोड चलाया जाता है।)
window.open()
पेज सबमिट पर उपयोग करके एक बच्चा खोलता है । अब यह चाइल्ड विंडो उसी window.open()
क्लोजिंग सेल्फ के साथ एक और चाइल्ड विंडो खोलती है। अब जब मैं अपना दूसरा बच्चा प्रस्तुत करता हूं (पहला बच्चा अब मौजूद नहीं है), मैं अपने मुख्य पृष्ठ के पृष्ठ तत्वों का उपयोग करना चाहूंगा। क्या यह दूसरे बच्चे से संभव है जब पहले से अधिक मौजूद नहीं है?
window.opener.opener
मध्यवर्ती पृष्ठ के चले जाने से पहले पकड़ना होगा ।
मुझे लगता है कि आपको अपने प्रश्न में कुछ संदर्भ जोड़ने की आवश्यकता है। हालाँकि, इन चीजों के बारे में बुनियादी जानकारी यहाँ मिल सकती है:
window.opener
https://developer.mozilla.org/en-US/docs/Web/API/Window.opener
मैंने ज्यादातर विंडो का उपयोग किया है। एक नई विंडो खोलते समय, जो एक संवाद के रूप में काम करती है जिसे उपयोगकर्ता इनपुट की आवश्यकता होती है, और मुख्य विंडो में जानकारी वापस करने की आवश्यकता होती है। हालाँकि यह मूल नीति द्वारा प्रतिबंधित है, इसलिए आपको संवाद से सामग्री और ओपनर विंडो दोनों को एक ही मूल से लोड करना सुनिश्चित करना होगा।
window.parent
https://developer.mozilla.org/en-US/docs/Web/API/Window.parent
मैंने इसका उपयोग ज्यादातर इफ्रेम्स के साथ काम करते समय किया है, जिसमें विंडो ऑब्जेक्ट के साथ संचार करने की आवश्यकता होती है जिसमें वे शामिल हैं।
window.top
https://developer.mozilla.org/en-US/docs/Web/API/Window.top
यह सुनिश्चित करने के लिए उपयोगी है कि आप शीर्ष स्तरीय ब्राउज़र विंडो के साथ बातचीत कर रहे हैं। आप अपनी वेबसाइट को अन्य चीजों के अलावा, किसी अन्य साइट को रोकने के लिए इसका उपयोग कर सकते हैं।
यदि आप अपने प्रश्न में कुछ और विवरण जोड़ते हैं, तो मैं अन्य अधिक प्रासंगिक उदाहरणों की आपूर्ति कर सकता हूं।
अद्यतन:
कुछ तरीके हैं जिनसे आप अपनी स्थिति को संभाल सकते हैं।
आपके पास निम्न संरचना है:
जब डायलॉग 1 डायलॉग 2 को खोलने के लिए कोड चलाता है, तो डायलॉग 2 बनाने के बाद, डायलॉग 1 ने डायलॉग 2 पर एक संपत्ति निर्धारित की है जो डायलॉग 1 ओपनर को संदर्भित करता है।
इसलिए यदि "चाइल्डविंडो" आप डायलॉग 2 विंडो ऑब्जेक्ट के लिए वेरिएबल हैं, और डायलॉग 1 विंडो ऑब्जेक्ट के लिए "विंडो" वेरिएबल है। डायलॉग 2 खोलने के बाद, लेकिन डायलॉग 1 को बंद करने से पहले, इसके जैसा असाइनमेंट करें:
childwindow.appMainWindow = window.opener
ऊपर असाइनमेंट बनाने के बाद, करीब डायलॉग 1. फिर डायलॉग 2 के अंदर चल रहे कोड से, आपको window.appMainWindow
मुख्य विंडो, विंडो ऑब्जेक्ट को संदर्भित करने के लिए उपयोग करने में सक्षम होना चाहिए
।
उम्मीद है की यह मदद करेगा।
window.open()
पेज सबमिट पर एक बच्चे को खोलता है । अब यह चाइल्ड विंडो उसी window.open()
क्लोजिंग सेल्फ के साथ एक और चाइल्ड विंडो खोलती है। अब जब मैं अपना दूसरा बच्चा प्रस्तुत करता हूं (पहला बच्चा अब मौजूद नहीं है), मैं अपने मुख्य पृष्ठ के पृष्ठ तत्वों का उपयोग करना चाहूंगा। क्या यह दूसरे बच्चे से संभव है जब पहले से अधिक मौजूद नहीं है?
शीर्ष, माता-पिता, सलामी बल्लेबाज (साथ ही खिड़की, स्व और iframe) सभी विंडो ऑब्जेक्ट हैं।
window.opener
-> वर्तमान पॉपअप विंडो को खोलने या लॉन्च करने वाली विंडो को लौटाता है।window.top
-> सबसे ऊपरी विंडो को लौटाता है, यदि आप फ्रेम का उपयोग कर रहे हैं, तो यह फ्रेमसेट विंडो है, यदि फ्रेम का उपयोग नहीं कर रहे हैं, तो यह विंडो या स्वयं के समान है।window.parent
-> वर्तमान फ्रेम या iframe के मूल फ्रेम लौटाता है। यदि आपके पास नेस्टेड फ़्रेम हैं, तो मूल फ़्रेम फ़्रेमसेट विंडो या कोई अन्य फ़्रेम हो सकता है। यदि फ़्रेम का उपयोग नहीं कर रहे हैं, तो माता-पिता वर्तमान विंडो या स्वयं के समान हैजब आप पॉपअप के साथ काम कर रहे होते हैं window.opener एक महत्वपूर्ण भूमिका निभाता है, क्योंकि हमें पेरेंट पेज के साथ-साथ चाइल्ड पेज से भी जूझना पड़ता है, जब हमें पेरेंट पेज पर मानों का उपयोग करना होता है तो हम window.opener का उपयोग कर सकते हैं या हम कुछ डेटा चाहते हैं लोडिंग के समय बच्चे की खिड़की या पॉपअप विंडो पर फिर हम window.opener का उपयोग करके मान सेट कर सकते हैं