2012-12-19 13 views
5

मैं मूल पृष्ठ को window.parent.functionname(); जैसे बच्चे पृष्ठ से कॉल कर रहा हूं। मैं मूल पृष्ठ से बच्चे पृष्ठ पर window.child.function() कैसे कॉल कर सकता हूं।मैं जावास्क्रिप्ट में विंडो बाल फ़ंक्शन कैसे कॉल कर सकता हूं?

किसी भी मदद की सराहना की जाती है।

+0

मैं तुम्हें वर्तमान दस्तावेज़ के भीतर एक iFrame के भीतर एक समारोह बुला के बारे में बात कर रहे हैं अनुमान लगा रहा हूँ। यदि ऐसा है तो कृपया इसे अपने प्रश्न में जोड़ें। – Bruno

+0

यदि आप 'window.parent' का उपयोग कर रहे हैं और यह काम कर रहा है, तो मेरे पास कोई iframe – Jonathan

+0

नहीं है, तो आपके पास एक आईफ्रेम है। – jbabey

उत्तर

11

अपने iFrame एक आईडी दें और

document.getElementById("iFrameId").contentWindow.functionname() 

कोशिश यह भी काम करता है आप अपने आदेश के बावजूद एक ही पृष्ठ में एक से अधिक iFrames है जब।

+0

अच्छी तरह से किया .. मेरे लिए भी काम किया। धन्यवाद –

4

क्या आपके पास आईफ्रेम है?

क्या ऐसा ही कुछ:

window.frames[0].contentDocument.functionname(); 
+0

का उपयोग करके कॉल कर सकता हूं मेरे पास कोई फ्रेम नहीं है। तो मैं यह कैसे कर सकता हूं – Jonathan

+0

@Naidu और आपका बच्चा कहां है या आपका क्या है? जब आप window.parent बनाते हैं तो आप किस संदर्भ में हैं? मुझे और कोड दो ?! – algorhythm

+0

मैं बच्चे को प्रदर्शित करने के लिए dhtmlx टैबबार का उपयोग कर रहा हूं। कोड: 'tabbar.setHrefMode (" आई-ऑन-डिमांड "); tabbar.setContentHref ("a1", "../../ MailContactMain/Index"); 'तो मैं if1 को iframe – Jonathan

2

जनक पेज

var windowRef = null; 

function openChildWindow() { 
    if ((windowRef != null) && (windowRef.closed == false)) { 
     if (windowRef.closed == false) windowRef.close(); 
     windowRef = null; 
    } 

    var windowUrl = 'ChildPage.aspx'; 
    var windowId = 'NewWindow_' + new Date().getTime(); 
    var windowFeatures = 'channelmode=no,directories=no,fullscreen=no,' + 'location=no,dependent=yes,menubar=no,resizable=no,scrollbars=yes,' + 'status=no,toolbar=no,titlebar=no,' + 'left=0,top=0,width=400px,height=200px'; 

    windowRef = window.open(windowUrl, windowId, windowFeatures); 

    windowRef.focus(); 

    // Need to call on a delay to allow 
    // the child window to fully load... 
    window.setTimeout(callChildWindowFunction(), 1000); 
} 

function callChildWindowFunction() { 
    if ((windowRef != null) && (windowRef.closed == false)) windowRef.childWindowFunction(); 
}​ 

बाल पृष्ठ

function childWindowFunction() { 
    alert('Hello from childWindowFunction()'); 
}​ 
1
var win = null; 
function openAndCall(id){ 
    if (win!=null && win.closed==false){ 
     win.close(); 
    } 
    win = window.open("/somePage"); 
    win.onload = function(){ 
     win.callSome(id); 
    }; 
}