मेरे पास एक मोडल विंडो है जो एक लोड हो रही हैबाहरी एचटीएमएल पेज। मैं सामग्री लोड होने के बाद इस मोडल विंडो को बंद करने का तरीका जानने का प्रयास कर रहा हूं। चूंकि यह एक बाहरी पृष्ठ है, इसलिए मैं इस सामग्री को बदलने में सक्षम नहीं हूं, इसलिए मैं अनुमान लगा रहा हूं कि मुझे मूल पृष्ठ पर एक ईवेंट श्रोता डालने की आवश्यकता है जो पता लगा सकता है कि मोडल विंडो सामग्री कब लोड की गई है?
किसी भी तरह की सहायता का स्वागत किया जाएगा।
उत्तर:
जवाब के लिए 0 № 1आप उपयोग कर रहे .load()
बाहरी HTML पृष्ठ लोड करने के लिए? यदि ऐसा है, तो आप में कॉलबैक फ़ंक्शन डाल सकते हैं load()
समारोह। ऐशे ही:
$("#someDiv").load(function(){
//Put code to close the modal
});
जवाब के लिए 0 № 2
जे एस:
मोडल से पैरेंट विंडो में एक विधि कॉल करने के लिए:
window.opener.document.globalMethodInOpeningFile(param1, param2);
मोडल विंडो को बंद करने के लिए, सामग्री लोड होने के बाद इसे कॉल करें (आप इसका उपयोग कर सकते हैं .load(callbackFn)
लोड की जांच करने के लिए '):
window.close();
जवाब के लिए 0 № 3
यदि आप "इस मॉडल पेज को खोल रहे हैं window.showModalDialog()
तो आप "टी।" जैसा कि अपना नाम इंगित करता है, यह एक खुलता है मोडल खिड़की। आपके मुख्य (सलामी बल्लेबाज) पृष्ठ में जावास्क्रिप्ट का निष्पादन तब तक निलंबित कर दिया जाएगा जब तक कि मोडल बंद नहीं हो जाता है (क्योंकि मोडल संवाद मूल्य वापस कर सकते हैं, इसलिए कॉलर को जारी रखने से पहले संवाद को बंद करने की प्रतीक्षा करनी चाहिए)। जिस पृष्ठ को आप खोल रहे हैं वह एक बाहरी पृष्ठ है (मैं किसी अन्य डोमेन में मानता हूं), इसे बंद करने का एकमात्र तरीका यह है कि उपयोगकर्ता इसे बंद कर देता है।
यदि यह स्वीकार्य नहीं है, तो आपको उपयोग करने की आवश्यकता है window.open
या एक jQuery मोडल विंडो जैसे jQuery UI प्रदान करता है।
जवाब के लिए 0 № 4
मुझे लगता है कि आप जूमला के कोर मोडल का उपयोग कर रहे हैंसुविधा। एक और धारणा है कि नियंत्रण तर्क मोडल विंडो के अंदर स्थित है। यही कारण है कि उत्तर सीधे आगे नहीं है क्योंकि यह हो सकता है क्योंकि मैं वर्कफ़्लो के बारे में अनिश्चित हूं जो बाहरी HTML पृष्ठ खोलता है जिसके बाद आप ईवेंट को आग लगाना चाहते हैं। हालांकि, बाहरी HTML पृष्ठ को खोलने वाले तर्क के बाद, आप मोडल विंडो को बंद करने के लिए अपने मॉडल विंडो के HTML के अंदर एम्बेडेड निम्न जावास्क्रिप्ट का उपयोग कर सकते हैं:
window.parent.SqueezeBox.close();