2011-01-19 6 views
5

मैं एक जावास्क्रिप्ट एप्लिकेशन लिखने की कोशिश कर रहा हूं जो किसी पृष्ठ पर iFrame में एक बटन लोड करेगा। यह एप्लिकेशन अभिभावक दस्तावेज़ को पढ़ेगा और सभी छवियों को अलग करेगा, न्यूनतम स्टाइल लागू करेगा और इस नए चिह्नित पृष्ठ के साथ अभिभावक को पुनः लोड करेगा।iFrame से पैरेंट दस्तावेज़ पढ़ना और माता-पिता बदलना

समस्या जो मैं कर रहा हूं वह आईफ़्रेम से मूल दस्तावेज़ को पढ़ और लिख रहा है। क्या किसी को यह हासिल करने के तरीके के बारे में पता है? मैंने क्रॉस-डोमेन मैसेजिंग पर थोड़ा सा पढ़ा है लेकिन विकल्पों के बारे में अनिश्चित हूं और जो सबसे अच्छा होगा।

अग्रिम धन्यवाद।

+1

यदि पृष्ठ एक डोमेन पर है, और iframe अन्य डोमेन पर इंगित करता है तो आप इसे iframes के माध्यम से नहीं कर सकते हैं। – mhitza

उत्तर

13

आप अभिभावक का उपयोग करके या शीर्ष चर का उपयोग करके माता-पिता को संदर्भित कर सकते हैं जो हमेशा बाहरी दस्तावेज़ को इंगित करता है।

  • माता पिता == माता पिता खिड़की
  • शीर्ष == सबसे बाहर खिड़की

तो माता-पिता

var d = parent.document.getElementByTagName("div")[0]; 

में पहली div में जाकर लेकिन जैसे टिप्पणी में पहले ही उल्लेख किया के लिए, बाहरी दस्तावेज़ और iframe में दस्तावेज़ दोनों एक ही डोमेन से होने की आवश्यकता है या आपको सुरक्षा कारणों से अवरुद्ध कर दिया जाएगा।

+0

उत्तर के लिए धन्यवाद। मैं एचटीएमएल 5 क्रॉस-डोमेन मैसेजिंग फीचर के साथ गया, जो यहां उल्लिखित है: http://dev.w3.org/html5/postmsg/#introduction – MeanwhileInHell

+0

यह सही नहीं है, विंडो पर शीर्ष, पैरेंट और शीर्ष बिंदु, दस्तावेज नहीं । – Christophe

+0

एक नोट के रूप में, यह 'document.getElementsByTagName' है। यह काम करता हैं! –