2009-12-03 9 views
11

मैं पार डोमेन से राष्ट्रीय स्वयंसेवक संघ (xmls) पुन: प्राप्त करने के लिए प्रॉक्सी सर्वर साइड समाधान देखा है के माध्यम से एक क्रॉस डोमेन आरएसएस (xml है)। वास्तव में यह बहुत ही question मेरी समस्या का समाधान करता है लेकिन एक अलग समाधान देता है।जावास्क्रिप्ट

मैं की एक बाधा को पुनः प्राप्त करने आरएसएस फ़ीड एक प्रॉक्सी प्रयोग नहीं करते हैं। और इसलिए Google AJAX Feed API समाधान भी तस्वीर से बाहर चला जाता है। क्या इस समस्या के लिए क्लाइंट-केवल कामकाज है।

JSONP अनुरोध करता है कि JSON उत्पादन के साथ जवाब के लिए समाधान है। लेकिन यहां, मेरे पास आरएसएस फ़ीड है जो शुद्ध एक्सएमएल के साथ प्रतिक्रिया दे सकती है।

मैं समस्या को कैसे हल करूं।

+0

क्या ब्राउज़र और प्लेटफ़ॉर्म समर्थित होना चाहिए? –

+0

सभी प्रमुख ब्राउज़र्स: - आईई 7+, फ़ायरफ़ॉक्स 3+, क्रोम .. – Ajay

उत्तर

0

अभी क्रॉस-साइट स्क्रिप्टिंग के लिए वास्तव में क्रॉस-प्लेटफ़ॉर्म समाधान नहीं है। क्या आपके पास आरएसएस फ़ीड पर नियंत्रण या पहुंच है? यदि हां, तो JSON के साथ बस जवाब न दें और JSONP का उपयोग क्यों करें?

एचटीएमएल 5 के साथ अन्य चीजें हैं जो क्रॉस-साइट मैसेजिंग (जिसे क्रॉस-डॉक्यूमेंट मैसेजिंग कहा जाता है) जैसे एक्सएमएल का पेलोड देने में सक्षम हो सकता है, लेकिन आखिरी बार मैंने चेक किया था, लेकिन वे नहीं थे मैसेजिंग के लिए आकार सीमा पर भी पूरी तरह से फैसला किया।

आप कल्पना यहाँ देख सकते हैं: http://dev.w3.org/html5/spec/Overview.html#crossDocumentMessages

+0

अपने पहले प्रश्न का उत्तर देने के लिए, नहीं, मेरे पास फ़ीड पर नियंत्रण नहीं है।फीड हर जगह हैं! – Ajay

+0

वे हैं ?!/व्यंग्य। ;) ऑफ-मौके में पूछने लायक था कि आप जिस फ़ीड को पुनर्प्राप्त कर रहे थे उसके नियंत्रण में थे। –

4

Yahoo! Pipes की तरह कुछ का उपयोग करें आपके प्रॉक्सी के रूप में सेवा और एक JSON प्रतिक्रिया में राष्ट्रीय स्वयंसेवक संघ एक्सएमएल अनुवाद करने के लिए।

यहाँ बताते हैं कि इसे कैसे करना निर्देश और कोड नमूने के साथ एक लेख है: Yahoo Pipes--RSS without Server Side Scripts

+0

याहू पाइप ... यह कोई नहीं है, मेरे पास आंतरिक फ़ीड है !! :( – Ajay

+0

मुझे आपकी आंतरिक फीड के बारे में लगता है, आपको प्रॉक्सी का उपयोग करना होगा। –

+0

इसे उत्तर के रूप में चिह्नित किया जाना चाहिए। – the0ther

0

सर्वर की ओर से प्रॉक्सी के बिना क्रॉस-डोमेन कॉल के लिए एक समाधान एक SWF घटक का उपयोग करने के लिए है। आप स्क्रिप्ट खुद के एक या एक से आसानी से उपलब्ध FLSend

घटक का उपयोग कर सकते JavaScript पद्धतियों कि आपकी सामग्री प्रस्तुत करना के साथ संवाद करने के लिए दूरस्थ डोमेन और ExternalInterface कॉल करने के लिए ActionScript के URLRequest उपयोग करता है।

+1

आप अभी भी किसी अन्य सर्वर से डेटा पुनर्प्राप्त नहीं कर सकते हैं, हालांकि जब तक crossdomain.xml फ़ाइल एक्सेस तक पहुंच नहीं देती तो यह एक सामान्य समाधान नहीं है। – jcoder

0

एक ही रास्ता मैं के बारे में सोच सकते हैं वेब पेज पर एक हस्ताक्षरित जावा एप्लेट एम्बेड करने के लिए एक्सएमएल पुनर्प्राप्त और उस के साथ इंटरफेस करने जावास्क्रिप्ट का उपयोग करने के लिए होगा। मैं 100% निश्चित नहीं हूं कि वर्तमान में जावा सुरक्षा मॉडल क्या है, लेकिन मुझे लगता है कि यह काम करेगा।

1

यदि आपके पास दोनों डोमेन पर नियंत्रण है, तो आप EasyXDM जैसे क्रॉस-डोमेन स्क्रिप्टिंग लाइब्रेरी को आजमा सकते हैं, जो क्रॉस-ब्राउज़र क्विर्क को लपेटता है और क्लाइंट स्क्रिप्ट में संचार करने के लिए उपयोग में आसान एपीआई प्रदान करता है उस ब्राउज़र के लिए उपलब्ध तंत्र (उदाहरण के लिए postMessage उपलब्ध होने पर, अन्य तंत्र यदि नहीं हैं)।

चेतावनी: आप इसे काम करने के लिए (जहां "नियंत्रण" मतलब है कि आप उन दोनों पर स्टैटिक फ़ाइलें जगह कर सकते हैं) के क्रम में दोनों डोमेन पर नियंत्रण की आवश्यकता है। लेकिन आपको किसी भी सर्वर-साइड कोड परिवर्तन की आवश्यकता नहीं है।

एक और चेतावनी: यहां सुरक्षा प्रभाव हैं - सुनिश्चित करें कि आप अन्य डोमेन की स्क्रिप्ट पर भरोसा करते हैं!