मैं एक पृष्ठ पर छिपे हुए आईफ्रेम तत्व जोड़ने के साथ खेल रहा हूं, और मैं इन लोड किए जाने के बाद इन दोनों के डीओएम में हेरफेर करना चाहता हूं। मैंने देखा है कि मैं किसी पृष्ठ पर आईफ्रेम जोड़ने के तुरंत बाद डीओएम में हेरफेर करना शुरू नहीं कर सकता क्योंकि यह अभी तक लोड नहीं हुआ है। यह DOMContentLoaded
ईवेंट के साथ नहीं किया जा सकता है क्योंकि दस्तावेज़ के विरुद्ध आग लगती है जो पृष्ठ में जोड़े जाने तक आईफ्रेम में मौजूद नहीं है, इसलिए हमें load
ईवेंट का उपयोग करना होगा।ऑनलोड बनाम addEventListener ('load') iframe व्यवहार
यहाँ कुछ परीक्षण कोड है:
var iframe = document.createElement('iframe');
iframe.onload = function() { console.log('loaded!'); };
document.getElementsByTagName('body')[0].appendChild(iframe);
यह अपेक्षा के अनुरूप है, लेकिन जब मैं इसे addEventListener
करने के लिए बदल यह डोम को जोड़ा भी नहीं है काम करता है हो:
var iframe = document.createElement('iframe');
iframe.addEventListener('load', function() { console.log('loaded!'); });
document.getElementsByTagName('body')[0].appendChild(iframe);
मैं हेवन ' टी आईई में attachEvent
का परीक्षण किया।
किसी ने इस पर कोई प्रकाश डाला?
मेरा मानना है कि तीसरे पैरामीटर के बारे में आपका बिंदु बिल्कुल समस्या थी, मुझे आपके द्वारा की गई त्रुटि नहीं मिल रही थी, लेकिन शायद इसे किसी भी तरह दबाया जा रहा था। मुझे याद नहीं है लेकिन स्पष्ट रूप से मैंने क्रोम में इसका परीक्षण नहीं किया है (मूर्ख मुझे ...) अच्छा, धन्यवाद। – roryf