javascript 子页面调用父页面中的js方法function test()?

2024-11-04 04:41:02
推荐回答(2个)
回答1:

window.parent与window.opener的区别 javascript调用主窗口方法
1: window.parent
是iframe页面调用父页面对象
举例:
a.html
Html代码

父页面



type="text" name="username" id="username"/>







如果我们需要在b.htm中要对a.htm中的username文本框赋值,就如很多上传功能,上传功能页在Ifrmae中,上传成功后把上传后的路径放入父页面的文本框中
我们应该在b.html中写

Html代码


实例地址: 实例/a.html
源码:
1.a.html
Html代码



主页面





id="form1">
id="username"/>
"父窗口调用IFrame子窗口中的内容" onclick = 'parentInvokeIFrame()'/>






1.b.html
Html代码








id="form1">


align="center">

name = "button"
id =
"button"
value = "更新主页面的UserName内容"

onclick = "UpdateParent()">

name = "button2"

id = "button2"
value
= "测试IFrame子窗口调用父窗口的全局变量"
onclick =
"childInvokeParent();"/>








ps:不能跨域获取,例如iframe的src是'http://www.xxx.ccc/'就不可以
2: window.opener
是window.open 打开的子页面调用父页面对象
实例地址: 实例/a.html
源码:
2.a.html
Html代码



主页面




name="form1" id="form1">
id="username"/>
"openSubWin()">
onclick = "parentInvokeChild()">





2.b.html
Html代码




子页面




id="form1">




onclick =
"UpdateParent();"
name="button"

id="button"
value="更新主页面的UserName内容">

name = "button2"

id = "button2"
value =
"测试IFrame子窗口调用父窗口的全局变量"
onclick =
"childInvokeParent();"/>







经过hanjs的提醒,确实需要注意的是,模态窗口的子窗口是没有办法修改父窗口页面中的任何内容的。
例如修改:OpenWindow =
window.open('b.html', 'newwindow', 'height=1024, width=1300, top=0, left=0,
toolbar=no, menubar=yes, scrollbars=yes,resizable=yes,location=no,
status=no');
为:OpenWindow =
window.showModalDialog("b.html",'newwindow',"dialogHeight:100px,center:yes,resizable:no,status:no");
在子窗口中当希望修改父窗口中的内容时,会弹出“某某”为空或不是对象的错误,而这里的“某某”就是你想修改的父窗口中的内容

回答2:

你要注意加载顺序的问题,只有那个外部文件加载完以后,才能调用其中的函数。