एक दस्तावेज़ सीधे अपने मूल दस्तावेज़ से कनेक्ट नहीं है। parent
लेने के लिए आपको window
के संदर्भ की आवश्यकता है।
डीओएम स्तर 2 दृश्य संपत्ति document.defaultView
आपको अधिकांश आधुनिक वेब ब्राउज़र में window
देगा, लेकिन आईई में आपको गैर-मानक document.parentWindow
इसके बजाय उपयोग करना होगा। (कुछ पुराने या अधिक अस्पष्ट ब्राउज़र इन गुणों में से किसी एक को लागू नहीं करते हैं, इस मामले में आप अटक गए हैं।)
जो आपको मूल दस्तावेज़ के window
देगा। यदि आप प्राप्त करना चाहते हैं जो आपके दस्तावेज़ को रखता है, तो आपको पृष्ठ पर सभी iframes के माध्यम से पुन: प्रयास करना होगा और जांचें कि निहित दस्तावेज़ स्वयं है या नहीं।
फिर, विधि वापस बच्चे के लिए एक iframe तत्व से प्राप्त करने के लिए (iframe.contentWindow
आप window
दे रही है) बनाम डोम मानक और बाकी सब (iframe.contentDocument
आप document
दे रही है) IE में अनावश्यक रूप से अलग है।
तो, कुछ की तरह: (। try...
जब एक दस्तावेज पहुँच विफल रहता है पाश बाहर दुर्घटनाग्रस्त होने से बचने के लिए एक और iframe एक अलग डोमेन पर जा रहा है, एक ही मूल नीति त्रुटि पैदा की वजह से है)
function getFrameForDocument(document) {
var w= document.defaultView || document.parentWindow;
var frames= w.parent.document.getElementsByTagName('iframe');
for (var i= frames.length; i-->0;) {
var frame= frames[i];
try {
var d= frame.contentDocument || frame.contentWindow.document;
if (d===document)
return frame;
} catch(e) {}
}
}
क्या आप "एक दस्तावेज़ वस्तु के संदर्भ में" द्वारा मतलब है? कंटेनर IFRAME कौन सा है? कृपया स्पष्टीकरण दें और शायद कुछ कोड –
दिखाएं मेरे पास एक HTMLDocument स्क्रिप्टिंग ऑब्जेक्ट (फ़ायरफ़ॉक्स स्क्रिप्टिंग पर्यावरण में) का संदर्भ है, और इसके कंटेनर IFrame का कोई संदर्भ नहीं है। – Melllvar