2012-02-18 20 views
5

मैं एक आईफ्रेम के भीतर एक div की सामग्री लेने, आईफ्रेम हटाने, और केवल div प्रदर्शित करने की कोशिश कर रहा हूँ। मैं यह नहीं समझ सकता कि यह क्यों काम नहीं करेगा- मुझे यकीन नहीं है कि सामग्री का उपयोग करना है या नहीं। सामग्री या सामग्री दस्तावेज़ .. कोई पॉइंटर्स? धन्यवाद!आईफ्रेम के भीतर एक div का चयन कैसे करें?

मैं आईडी "आइफ्रेम" के साथ एक div है, कि आईडी "embedded_article" के साथ आइफ्रेम,

<script type="text/javascript"> 

function getContentFromIframe() 

{  
var parent = document.getElementById('iframe'); 
var child = document.getElementById('embedded_article'); 

var oldContent = child.contentWindow.document.innerHTML; 

var newContent = child.contentWindow.document.getElementById('ec-article').innerHTML; 

    document.getElementById('iframe').removeChild(document.getElementById('embedded_article')); 


parent.innerHTML = newContent;  

} 
</script> 
+0

आमतौर पर ब्राउज़र द्वारा इसकी अनुमति नहीं है, क्योंकि यह असुरक्षित है। – tekknolagi

+0

@tekknolagi वह क्या करने की कोशिश कर रहा है जब तक कि फ्रेम एक ही डोमेन साझा करते हैं। यह सिर्फ ऐसा करने का सही तरीका नहीं है। 'document.getElementById ('iframe') 'बाहरी विंडो में' iframe' तत्व देता है, न कि 'दस्तावेज़' या 'विंडो' ऑब्जेक्ट फ्रेम के अंदर, इसलिए इसमें बच्चे नहीं हैं। –

+1

आह, ठीक है। स्पष्टीकरण के लिए धन्यवाद, @GGG – tekknolagi

उत्तर

2

आपका उदाहरण:

:

document.getElementById('iframe').removeChild(document.getElementById('embedded_article')); 

कुछ ऐसा दिखाई देगा

var element = frames['iframe'].document.getElementById('embedded_article'); 

element.parentNode.removeChild(element); 

window.frames['yourFrameId'] आपके फ्रेम से जुड़े window ऑब्जेक्ट का मूल्यांकन करता है। जब आप document.getElementById का उपयोग करते हैं, तो आप अपने मुख्य विंडो में document नहीं, अपने फ्रेम के window से संबंधित document का उपयोग करना चाहते हैं। बाकी आत्म-व्याख्यात्मक होना चाहिए।

2

एक iframe के भीतर div को पाने के लिए आप इस

 var div = document.getElementById("YourIFrameID").contentWindow.document.body.getElementById("YOUR_DIV_ID") 
की तरह कुछ कोशिश कर सकते हैं के भीतर
+0

यह काम नहीं कर रहा है, बस कहता है कि पहला दस्तावेज़ .getElementById (...) खाली है –

संबंधित मुद्दे