2013-05-26 8 views
14

मैं पहले से ही jQuery के साथ एक आईफ्रेम की सामग्री प्राप्त कर सकता हूं, हालांकि मैं यह जानना चाहता हूं कि इसे शुद्ध जावास्क्रिप्ट के साथ कैसे प्राप्त किया जाए।शुद्ध जावास्क्रिप्ट के साथ iframe की सामग्री प्राप्त करना

यह मेरे पास अब तक है।

var frame = document.getElementById('awc_frame'); 
var easyBB = frame.contentWindow.document.body.innerHTML; 
easyBB.getElementById('chatbox-title').innerText="Chatbox"; 

मैं क्या गलत कर रहा हूं, कृपया मदद करें। मूल रूप से फ्रेम में कोई आईडी नहीं है, और मैंने पहले से ही इस

var frame = document.frames['awc_frame']; 

क्या यह क्रॉस ब्राउज़र कुशल है? और फिर मैं सामग्री कैसे प्राप्त करूं? बस कुछ स्पष्टीकरण इसलिए मैं जावास्क्रिप्ट के साथ ऐसा कर सकता हूं और jQuery नहीं। jQuery संस्करण यह

var frame = $('#avacweb_chat iframe'); 
var easyBB = $('#chatbox-title',frame.contents()).text('Chatbox'); 
+1

की [कैसे जावास्क्रिप्ट में iframe के शरीर की सामग्री प्राप्त करने के?] (http संभव डुप्लिकेट: // stackoverflow.com/questions/926916/how-to-get-the-bodys-content-of-an-iframe-in-javascript) –

+1

क्षमा करें, कोई अपराध इरादा नहीं है। क्या कोई समुदाय सर्वसम्मति है (उदाहरण के लिए मेटा प्रश्न) जो कहता है कि पुराने प्रश्नों के डुप्लिकेट के रूप में चिह्नित करना अच्छा नहीं है? क्या आप सहमत हैं कि वे एक ही सवाल हैं? यदि नहीं, तो क्या आप समझा सकते हैं क्यों? मैंने गलत गलती की हो सकती है। –

+1

वैसे हाँ अलग है। मेरी अशिष्टता के लिए खेद है बस परेशान था। जैसे ही मैं अपना कोड दिखाता हूं, jquery और वेनिला दोनों और यह प्रश्न OP – EasyBB

उत्तर

31

यदि यह एक ही डोमेन पर है, तो इसे आजमाएं। अगर आप आईफ़्रेम को देख रहे विंडो की तुलना में एक अलग मूल के हैं तो यह iframe सामग्री तक पहुंचने नहीं देगा। jsfiddle आइफ्रेम एक ही डोमेन पर एक पृष्ठ को देखने के साथ

var iframe = document.getElementById("awc_frame"); 
var iframe_contents = iframe.contentDocument.body.innerHTML; 

कार्य उदाहरण:

http://jsfiddle.net/tqAL3/1/

+0

से कोई कोड नहीं दिखाता है: http://www.w3.org/TR/html5/embedded-content-0.html#dom-iframe- contentdocument –

+0

क्या होगा यदि मैं इसके साथ सिर चाहता हूं? क्या मुझे contentDocument.head.innerHTML करना है और शरीर को संयोजित करना है या – Rayjax

+0

कभी भी तेज नहीं है -> iframe.document.getElementsByTagName ('html') [0] .innerHTML – Rayjax

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