2010-12-06 8 views
10

मैं एक वेबपृष्ठ विकसित कर रहा हूं जो हमारे ग्राहक iframe (क्रॉस डोमेन) में अपना पृष्ठ लपेटकर अपनी वेबसाइटों पर डालना चाहते हैं। मैं को माता-पिता से बातचीत करने या iframe के बाहर के बारे में कुछ भी जानने की आवश्यकता नहीं है।वेबफ्रेम सीमाएं जब IFrame के अंदर लपेटती हैं?

मैं एचटीएमएल, सीएसएस, जावास्क्रिप्ट और Webservices उपयोग कर रहा हूँ।

प्रश्न: मैं एक आइफ्रेम अगर मेरे पेज आइफ्रेम बाहर चल रहा था की तुलना में अंदर ही सीमित कर रहा हूँ?

+0

मुझे यकीन नहीं है कि सीमाएं क्या हैं, लेकिन यदि आपकी आईफ्रेम सामग्री को मूल पृष्ठ तक पहुंचने की आवश्यकता नहीं है, तो आप उनमें से किसी को भी मुठभेड़ नहीं करेंगे। मुझे लगता है कि यह सवाल पूरी तरह से एक बौद्धिक पीछा है? :) – jrharshath

+0

संबंधित उत्तरों के लिए खोज मुझे विभिन्न * iframe * समस्याओं के लिए बहुत सारे विशिष्ट समाधान देता है। मैं एक और सामान्य खोज रहा हूं * ऐसा न करें *, * ऐसा न करें * और ध्यान रखें कि * यह संभव नहीं है * * iframe * में रहते समय। – Chau

उत्तर

13

आप नहीं हैं। आपके डोमेन से आईफ्रेम के भीतर जुड़ा कोई भी जेएस आईफ्रेम के संदर्भ में कार्य करेगा। एक असामान्य कंटेनर में घुसने के अलावा इसे वही काम करना चाहिए जैसा कि यह स्वतंत्र रूप से लोड किया गया था।

यदि आपकी ज़रूरतें बदलनी चाहिए, तो माता-पिता फ्रेम और आईफ्रेम के बीच सिग्नल भेजने के तरीके हैं यदि दोनों पृष्ठों में सहयोग करने के लिए जेएस लिखा गया है। URL में # का उपयोग करने के तरीके हैं जिन्हें माता-पिता द्वारा पढ़ा जा सकता है और पृष्ठ रीलोड को मजबूर नहीं किया जाता है और मुझे लगता है कि वे window.resize ईवेंट साझा करते हैं जिसे वास्तव में विंडो का आकार बदलने के बिना मैन्युअल रूप से निकाल दिया जा सकता है।

अद्यतन: क्रॉस-डोमेन आइफ्रेम के बीच संवाद करने के लिए अब कहीं बेहतर तरीके हैं। स्वाभाविक रूप से आपको अभी भी दोनों सिरों पर जेएस को सहयोग करने की आवश्यकता होगी, लेकिन आप यूआरएल में हैश प्रतीक के बाद window.resize और डेटा के माध्यम से संदेशों को ट्रिगर करने के बजाय window.postMessage का उपयोग कर सकते हैं। हालांकि यह एक अच्छा चाल था।

+0

प्रत्येक फ्रेम को अपनी खिड़की वस्तु मिलती है। विचार यह है कि आप जो भी चाहते हैं उसे किसी भी स्रोत को फेंकने और इसे देखने और आईफ़्रेम में इसका उपयोग करने में सक्षम होना चाहिए, बशर्ते कि उनके पास फ्रेम बस्टिंग कोड बनाया गया हो। अगर आईफ़्रेम के भीतर जेएस वैश्विक वैरिएबल को परिभाषित करता है, तो यह एक संपत्ति होगी उस आईफ्रेम की विंडो ऑब्जेक्ट का। पैरेंट विंडो बच्चे आईफ्रेम के .src तत्व तक पहुंच सकती है और मेरा मानना ​​है कि वे दोनों एक ही विंडो देखते हैं। श्रेय के बाद से यह एक क्रोम घटना है, लेकिन इसके अलावा यह हर तरह से दो अलग-अलग पृष्ठों की तरह है, जहां तक ​​मुझे पता है। –

1

लिंक बनाते समय आपको target-a की सामग्री का उपयोग करना चाहिए - अगर आप मूल विंडो के लिए एक लिंक बनाना चाहते हैं तो डेटा का उपयोग करना चाहिए। अन्यथा नया पृष्ठ iframe में लोड किया जाएगा।

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