2011-11-07 14 views
5

के साथ एक पृष्ठ लोड मैं एक mx है: एक AIR डेस्कटॉप अनुप्रयोग है कि यह में एक बाहरी वेबपृष्ठ को लोड में एचटीएमएल घटक ...HTML एक iframe

इस वेबपृष्ठ उस में एक iframe और iframe बोझ है (जाहिर है) एक और पेज ...

मैं समझ नहीं कैसे iframe की कोड प्राप्त करने के ...

अगर मैं वेबपेज सामग्री मैं केवल आरम्भ पृष्ठ की तरह पुनर्प्राप्त प्राप्त करने की कोशिश:

फ़ाइल webpage.html

<html> 
<!-- html code--> 
<iframe src="http://host/framepage.html">content default</iframe> 
<!-- other html code--> 
</html> 

फ़ाइल framepage.html

<div>test test test</div> 

मैं स्ट्रिंग <div>test test test</div>

कृपया मुझे बताओ एक तरह से (यह पुन: लोड के बिना) iframe की सामग्री प्राप्त करने के है कि वहाँ प्राप्त करना चाहते हैं। ..

संपादित

की प्रतिक्रिया को देखते हुए Exort,

var iFrame:* = domWindow.document.getElementById("myIframe"); 

का उपयोग करके मुझे आइफ्रेम वापस आ जाएगी, लेकिन सामग्री यह एक मैं ... ऊपर मेरे वेबपेज और framepage उदाहरण का उपयोग करना चाहते हैं नहीं है, iframe सामग्री मैं मिल जाएगा

content default

है

<div>test test test</div>

ऐसा लगता है के रूप में दूसरे पृष्ठ लोड नहीं है, लेकिन यह वास्तव में भरी हुई और ब्राउज़र विंडो में प्रदान की जा रही है (मैं भी करने की कोशिश की उसी के बजाय

एक बटन एनजी ताकि मैं आईफ्रेम सामग्री की खोज में देरी कर सकूं।

+0

क्या मूल परियोजना के समान डोमेन पर iframe है? – Wes

+0

हाँ यह एक ही डोमेन में है – Marcx

+0

यह प्रश्न इस प्रकार का डुप्लिकेट है: http://stackoverflow.com/questions/785823/accessing-an-iframes-contents-in-adobe-air –

उत्तर

1

मेरे पास अधिक समय नहीं है इसलिए यह वास्तव में गहरा जवाब नहीं हो सकता है, लेकिन आईफ्रेम को खिड़की में माना जाता है और इसका एक दस्तावेज़ है। आप एचटीएमएल डोम के साथ इस तरह की सामग्री के साथ इसकी सामग्री प्राप्त कर सकते हैं। यह एएस 3 वैसे है, अगर मैं वस्तु प्रकार के रूप में '*' का उपयोग कर रहा हूं। ऑब्जेक्ट प्रकार का उपयोग करना वास्तव में यहां अच्छा काम नहीं करेगा।

var domWindow:* = myHTML.htmlLoader.window; //DOM window object 

//if you don't have the id, you can get all iframes with getElementsByTagName("iframe") 
var iFrame:* = domWindow.document.getElementById("myIframe"); 

var iFrameContent:String = iframe.contentDocument.body.innerHTML; 
+0

यह काम नहीं करेगा, इस तथ्य को छोड़कर कि पिछली 2 लाइनें कोई परिणाम नहीं देती हैं, 'iframe' भी प्राप्त करने से मैं डेटा पुनर्प्राप्त नहीं कर सका ... इसके बजाय मैं पहले पृष्ठ पर iframe का "टेक्स्ट" प्राप्त कर सकता हूं। मैंने अपनी पोस्ट को बेहतर स्पष्टीकरण के लिए संपादित किया। – Marcx

+0

दुर्भाग्य से मैं इसका परीक्षण नहीं कर सकता, लेकिन समाधान इसके आसपास है। डीबग में आईफ्रेम का निरीक्षण करने का प्रयास करें और देखें कि क्या आपको विंडो नहीं मिल सकती है। मेरे दिमाग के शीर्ष से यह सामग्री थी विन्डो लेकिन यह कुछ और हो सकता है। मैं देखूंगा कि क्या मैं आपको बाद में अधिक जानकारी प्रदान कर सकता हूं, क्षमा करें! – Exort

+0

एनपी! मैंने कम से कम पूरी सुबह डीबग विंडो में देखा और कुछ भी उपयोगी नहीं पाया, इसलिए मैंने यहां पूछा .. उम्मीद है कि कोई मदद कर सकता है .. – Marcx