2010-12-12 13 views
5

के साथ समस्याएं मैं वर्तमान में एक उप-डोमेन के भीतर एक पृष्ठ को लोड करने का प्रयास कर रहा हूं, एक आईफ्रेम का उपयोग करके, मेरे मुख्य डोमेन पर, और उप-डोमेन को जावास्क्रिप्ट फ़ंक्शन (जब डोम पहले से ही) मेरे मुख्य डोमेन के भीतर, ताकि मुख्य डोमेन सामग्री की ऊंचाई के अनुसार आईफ्रेम का आकार बदल सके। यहाँ एक उदाहरण हैdocument.domain "अनुमति अस्वीकार" आईई 8

www.mysite.com (पेज भीतर कोड):

<script> 
document.domain = "mysite.com"; 

$(document).ready(function() { 
    window.parent.doSomething(); 
}); 
</script> 
:

<script type="text/javascript"> 
document.domain = "mysite.com"; 
function doSomething() { 
    //do something 
} 
</script> 
<iframe id="mytestid" src="test.mysite.com" height="0" width="900"></iframe> 

और मेरे अन्य साइट, test.mysite.com के लिए, यहाँ पृष्ठ के भीतर कोड है

यह फ़ायरफ़ॉक्स, सफारी और क्रोम के लिए ठीक काम करता है, लेकिन IE8 के लिए नहीं। IE8 हमेशा मुझे देता है जब कॉल window.parent.doSomething()

मैं IE7 या IE6 पर परीक्षण करने के लिए यदि समस्या बनी रहती देखने में सक्षम नहीं किया गया बनाने के लिए एक "अनुमति अस्वीकृत" त्रुटि है, लेकिन किसी को भी इस समस्या का सामना किया? क्या मुझे कोड छोड़ने के तरीके से कुछ याद आया है?

मदद लोगों के लिए धन्यवाद।

+0

संभावित डुप्लिकेट [अनुमति अस्वीकृत आईई iFrame] (http://stackoverflow.com/questions/2953158/permission-denied-ie-iframe) – alex

उत्तर

1

यहाँ कुछ संभव समस्याओं के बारे में टिप्पणी की एक बहुत कुछ के साथ एक धागा है:

नोट है कि मैं इस परीक्षण नहीं किया, क्योंकि मैं IE जरूरत नहीं है। दुर्भाग्यवश, न तो मेरे परिप्रेक्ष्य से विश्वास करने लगते हैं - इसे आजमाएं और देखें कि यह आपके लिए काम करता है या नहीं।

तो, ऊपर पोस्ट से, ऐसा लगता है दो संभावित कारण होते हैं:

  • पोस्ट का आरोप है आईई सभी दस्तावेजों की आवश्यकता है एक ही डोमेन हों। यदि आपके पास अधिक दस्तावेज हैं (iframes और ऐसे), तो इन्हें हटाने और इन दो (मुख्य और आईफ्रेम)
  • पोस्ट में अंतिम टिप्पणी देखें - यह केवल दौड़ की स्थिति हो सकती है। के बाद दोनों पेज एक ही मूल्य के लिए document.domain निर्धारित किया है इंतज़ार कर के कुछ ही सेकंड के साथ एक setTimeout में डालने की कोशिश करो
2

document.domain "अनुमति अस्वीकृत" IE8 हल के साथ मुद्दों !!

अन्य उपयोगकर्ता की तरह ही, बस दस्तावेज़ के बाद कुछ ओ सेकेंड का टाइमआउट सेट करें। डोमेन जहां आईफ्रेम पृष्ठ पर है, और फिर iframe के भीतर अपना दूसरा पृष्ठ कॉल करें।

आप अपने iframe की एसआरसी मूल्य निर्धारित करने की आवश्यकता है, तो आप IE8 पर दस्तावेज.डीओएमेन को सेट और यह काम करेगा के बाद सेकंड के एक जोड़े ..

1

मैं का उपयोग कर समय समाप्त नहीं किया इसी अंक में भाग गया और मुद्दे को हल करें।

जैसा कि मेरे पास समान सेटिंग्स के साथ एक और साइट थी, जहां सभी ठीक काम कर रहे थे, मैंने दोनों तरफ से खिड़कियां खोली और नीचे की स्थिति पट्टी में देखा कि एक "स्थानीय इंट्रानेट" के तहत था जबकि दूसरा "विश्वसनीय साइट्स" के अधीन था "।

इससे मुझे एक और बिंदु जांचने के लिए प्रेरित किया गया: सुनिश्चित करें कि दोनों उप-डोमेन आईई की इंटरनेट सुरक्षा गुणों में एक ही सुरक्षा क्षेत्र में दिखाई देते हैं! यदि वे नहीं करते हैं, तो आपके पास "अनुमति अस्वीकृत" त्रुटि होगी।