我从子页面调用父window.parent.functionname();
这样的父函数。如何从父页面调用window.child.function()
到子页面。
感谢任何帮助。
答案 0 :(得分:12)
将您的iFrame设为ID并尝试
document.getElementById("iFrameId").contentWindow.functionname()
即使您在同一页面中有多个iFrame而不管其顺序如何,此功能仍然有效。
答案 1 :(得分:4)
你有iframe吗?
做类似的事情:
window.frames[0].contentDocument.functionname();
答案 2 :(得分: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()');
}
答案 3 :(得分: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);
};
}