2012-08-28 13 views
6

मैं iframe की सामग्री तक पहुंचने का प्रयास कर रहा हूं दस्तावेज़ और सामग्री निम्नलिखित कोड में देखें। लेकिन वे दोनों शून्य हैं।iframe contentDocument और contentWindow शून्य है

var iframe = document.createElement('iframe'); 
    this.get__domElement$i().appendChild(iframe); 
    if (iframe.contentDocument) { 
     iframe.contentDocument.write("Hello"); 
    } 
    else if (iframe.contentWindow) { 
     iframe.contentWindow.document.body.innerHTML = "Hello"; 
    } 

क्या कोई मुझे बता सकता है कि इसमें क्या गलत है? धन्यवाद

जब मैं दस्तावेज़ करता हूं। बॉडी.एपेंड चेंल्ड (आईफ्रेम), तो सामग्री दस्तावेज़ और सामग्रीविंडो शून्य नहीं है।

क्या कोई मुझे बता सकता है कि जब मैं div को iframe जोड़ता हूं तो क्या गलत है?

बहुत बहुत धन्यवाद।

उत्तर

2

मुझे पता है कि यह थोड़ी देर हो चुकी है, लेकिन मैं इस पर शोध किया गया था और अपने प्रश्न पर ठोकर खाई:

मैं तुम्हें रूप में एक ही त्रुटि मिली, क्योंकि div मैं नहीं था करने के लिए iframe संलग्न करने के लिए कोशिश कर रहा था तब तक लोड किया गया जब मैं आईफ्रेम जोड़ने की कोशिश कर रहा था। div लोड किया जाता है यदि आपका कोड काम करता है:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <div id='test' > 

     </div> 
     <script> 
      var iframe = document.createElement('iframe'); 
      var myDiv = document.getElementById('test'); 
      myDiv.appendChild(iframe); 
      if (iframe.contentDocument) { 
       iframe.contentDocument.write("Hello"); 
      } 
      else if (iframe.contentWindow) { 
       iframe.contentWindow.document.body.innerHTML = "Hello"; 
      } 
     </script> 
    </body> 
</html> 

यहाँ इस काम के कोड के साथ एक jsFiddle और another एक त्रुटि TypeError: Cannot call method 'appendChild' of null देने में टैग के साथ है।