2010-01-23 8 views
5

आवश्यकतानुसार क्या है:मेरे एचटीएमएल पेज से दूसरी वेबसाइट से जानकारी कैसे प्राप्त करें?

मेरे पास एक HTML वेबपृष्ठ है और मुझे किसी अन्य वेबसाइट तक पहुंचने और उसके स्रोत कोड से कुछ प्राप्त करने की आवश्यकता है।

मैं मैं क्या लिंक से की जरूरत है और इसका इस्तेमाल करते हैं पाने के लिए

link = "http://www.google.com"; 
doc.querySelectorAll('#courses_menu > ul > li > a'); // Apply on the link. 

की तरह कुछ चलाने के लिए चाहते हैं!

हालांकि, मैं जेटपैक स्लाइड बार का उपयोग कर रहा हूं।

क्या इसे HTTP अनुरोधों के साथ कुछ भी करना है?

उत्तर

1

मुझे लगता है कि आप पूरे पृष्ठ को अजाक्स अनुरोध का उपयोग करके खींच सकते हैं, सामग्री को एक छिपे हुए आईफ्रेम में डाल सकते हैं, और उसके बाद आईओआरएएम में डीओएम में हेरफेर कर सकते हैं। जैसे (यहाँ jQuery ढांचे का उपयोग कर)

<iframe id="holder" style="display: none"> 

<script type="text/javascript"> 
$("#holder").load("http://www.google.com",function() { 
    $link = $("#holder").contents().find("#courses_menu > ul > li > a"); 
}); 
</script> 
+0

क्या यह वास्तव में काम करता है? मैंने कोशिश की लेकिन इस तरह की त्रुटि प्राप्त करें: 'XMLHttpRequest http://www.google.com/ लोड नहीं कर सकता है। उत्पत्ति http: // localhost: 9000 को एक्सेस-कंट्रोल-अनुमति-उत्पत्ति द्वारा अनुमति नहीं है। – Freewind

+1

हाँ; मुझे लगता है कि यह संभव था लेकिन क्रॉस-साइट सुरक्षा मुद्दों के कारण मुझे लगता है कि अब इसकी अनुमति नहीं दी जा सकती है। मैं स्थानीयहोस्ट की बजाय पूरी तरह से योग्य डोमेन नाम का उपयोग करने की भी जांच करता हूं। यह समस्या का कारण हो सकता है। –

0

एक ऐसा पृष्ठ है जिसके पास आपकी क्वेरी "doc.querySelectorAll ('# courses_menu> ul> li> a') का परिणाम होगा;"

अपने पृष्ठ में एक आईफ्रेम जोड़ें, स्रोत को उस पृष्ठ के रूप में सेट करें जिसका उपरोक्त परिणाम है।

<iframe src='pagenamewhichhasresult'/>

+0

क्या आपने यह कोशिश की है? मुझे नहीं लगता कि यह एक ही मूल नीति के कारण काम करेगा। –

0

आप Iframe का उपयोग करके अपने HTML दस्तावेज़ में अन्य वेबसाइट की सामग्री शामिल कर सकते हैं। हालांकि, एक ही मूल नीति के कारण, आपके डोमेन से स्क्रिप्ट नहीं हो सकती है किसी अन्य डोमेन से सामग्री को प्रभावित करती है। दूसरे शब्दों में, आप किसी आइफ्रेम में रखे गए किसी अन्य वेब पेज की सामग्री में हेरफेर करने के लिए कुछ जावास्क्रिप्ट नहीं लिख सकते हैं। स्क्रिप्ट को उस डोमेन से भी आना होगा।

1

मैं एक ही वेबसर्वर पर एक PHP प्रॉक्सी के साथ एक अजाक्स (जैसे jQuery) का उपयोग करना चाहिये कुछ। प्रॉक्सी दूरस्थ वेबपृष्ठ लोड करता है और फिर उसी डोमेन के अंतर्गत उपलब्ध होता है।

दुर्व्यवहार के खिलाफ प्रॉक्सी की रक्षा करना न भूलें।

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