मैं यह पता लगाने की कोशिश कर रहा हूं कि एक आईफ्रेम और इसकी सामग्री लोड हो गई है लेकिन बहुत भाग्य नहीं है। मेरा एप्लिकेशन पैरेंट विंडो में टेक्स्ट फ़ील्ड्स में कुछ इनपुट लेता है और आईफ्रेम को 'लाइव पूर्वावलोकन' प्रदान करने के लिए अपडेट करता हैआईफ्रेम सामग्री लोड होने पर पता लगाना (क्रॉस ब्राउज़र)
मैंने आईफ़्रेम लोड ईवेंट होने पर पता लगाने के लिए निम्न कोड (वाईयूआई) से शुरुआत की।
$E.on('preview-pane', 'load', function(){
previewBody = $('preview-pane').contentWindow.document.getElementsByTagName('body')[0];
}
'पूर्वावलोकन-फलक' मेरे आईफ्रेम की आईडी है और मैं ईवेंट हैंडलर को संलग्न करने के लिए वाईयूआई का उपयोग कर रहा हूं। हालांकि, मेरे कॉलबैक (आईफ्रेम लोड पर) में शरीर तक पहुंचने का प्रयास करने में विफल रहता है, मुझे लगता है क्योंकि ईवेंट हैंडलर तैयार होने से पहले आईफ्रेम लोड होता है। यह कोड काम करता है अगर मैं php स्क्रिप्ट बनाकर iframe लोडिंग में देरी करता हूं जो इसे नींद उत्पन्न करता है।
मूल रूप से, मैं क्या ब्राउज़रों में सही दृष्टिकोण जब आइफ्रेम लोड होते ही पता लगाने के लिए है और इसकी दस्तावेज़ तैयार है पूछ रहा हूँ?
YUI के साथ बाहर शुरू एक बुरा विचार (और साथ ही किसी भी अन्य जे एस पुस्तकालय) है। क्यूं कर? क्योंकि आप सिर्फ यह नहीं जान सकते कि लाइब्रेरी क्या जादू कर रही है। अगर वे पूरी तरह से "लोड" का समर्थन नहीं कर सकते हैं, तो आप बेहतर और पठनीय जावास्क्रिप्ट में इसे बेहतर तरीके से करेंगे। – Christian
आप लाइब्रेरी @ क्रिस्टियन के स्रोत कोड को अक्सर पढ़ सकते हैं। मुझे लगता है कि यह आमतौर पर आपको अपने कार्यान्वयन का उपयोग करने के बावजूद खुद को कैसे करना है इस बारे में बहुत अच्छी युक्तियां देता है। – AJP
@AJP आपने मेरे बिंदु को गलत समझा। यदि आप कुछ कर रहे हैं, तो आप निश्चित नहीं हैं, कम कोड होना बेहतर है इसलिए त्रुटियों के लिए कम जगह है। – Christian