2009-06-29 20 views
8

मेरे पास ऐसी साइट है जो कुछ पृष्ठों पर आईफ्रेम के माध्यम से अन्य साइटें प्रदर्शित करती है। यह पाठक को प्रासंगिक टूलबार प्रदर्शित करने के लिए करता है (जैसे फेसबुक और ओवेली करता है)। हालांकि, जब उपयोगकर्ता मूल साइट छोड़ने का विकल्प चुनता है तो मैं बार को दूर जाना चाहता हूं। जैसा कि आप इकट्ठा कर सकते हैं, मैं iframe में साइटों को नियंत्रित नहीं करता हूं, और वे iframing पृष्ठ की तुलना में किसी अन्य डोमेन पर हैं।iframe के लिंक को तोड़ने के लिए कैसे करें जब आप केवल आईफ्रेम पेज को नियंत्रित करते हैं (फ़्रेम किए गए पृष्ठ नहीं)?

मैंने पर लक्ष्य = "_ पैरेंट" की कोशिश की, कोई किस्मत नहीं। फिर मैंने विभिन्न स्क्रिप्टिंग समाधानों की कोशिश की, लेकिन वे सभी एक ही डोमेन प्रतिबंध के कारण विफल हो गए। मेरा आखिरी प्रयास आईफ्रेम यूआरएल में बदलावों के लिए टाइमआउट जांच करना था, लेकिन iframe.contentWindow.location.href प्रतिबंधित है जब पेज किसी अन्य डोमेन पर है (ऑब्जेक्ट iframe.contentWindow.location के विपरीत जो मुझे थोड़ा अजीब मिला)।

इस समस्या के लिए कोई समाधान? मुझे पता है कि iframes चारों ओर सबसे गर्म चीज नहीं हैं, लेकिन वे इस मामले में नौकरी करते हैं।

उत्तर

10

कोई समाधान नहीं।

शीर्ष फ्रेम में खोलने के लिए एक लिंक प्राप्त करने का एकमात्र तरीका लिंक पर पहुंच होना है। जैसा कि आपने देखा है, वही मूल नीति जेएस को फ्रेम तक पहुंचने से रोकती है।

11

लक्ष्य = _top इसे पृष्ठ के पूरे शरीर में पृष्ठ खोलना चाहिए।

+0

ईसाई ने कहा "मैं iframe में साइटों को नियंत्रित नहीं करता", तो वह उसे कैसे जोड़ सकता है? – Quentin

+0

आपने कहा कि आपने लक्ष्य = _ माता-पिता की कोशिश की है, तो मुझे क्षमा करें। आप HTML बेस टैग एम्बेड करना () को एम्बेड करने का प्रयास कर सकते हैं। यह दस्तावेज़ के सिर में जाता है ताकि आपको HTML को अवरुद्ध करना होगा और प्रत्येक iFrame दस्तावेज़ के लिए जावास्क्रिप्ट का उपयोग करके इसे जोड़ना होगा। – MystikSpiral

+0

उन्होंने कहा कि एचटीएमएल एक अलग डोमेन पर है। इसे जेएस के साथ अवरुद्ध नहीं किया जा सकता है। – Quentin

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

  • कोई संबंधित समस्या नहीं^_^