windowparent与windowopener的区别 javascript调用主窗口方法
1: windowparent
是iframe页面调用父页面对象
举例:
ahtml
Html代码 <html>
<head><title>父页面</title></head>
<body>
<form name="form1" id="form1">
<input
type="text" name="username" id="username"/>
</form>
<iframe src="bhtml" width=100%></iframe>
</body>
</html>
如果我们需要在bhtm中要对ahtm中的username文本框赋值,就如很多上传功能,上传功能页在Ifrmae中,上传成功后把上传后的路径放入父页面的文本框中
我们应该在bhtml中写
Html代码
<script type="text/javascript">
var _parentWin =
windowparent ;
_parentWinform1usernamevalue = "xxxx" ;
</script>
实例地址: 实例/ahtml
源码:
1ahtml
Html代码
<html>
<head>
<title>主页面</title>
<script>
/ 为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量 /
var parentVairous = "为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量";
function parentInvokeIFrame()
{
var
iframeTest = documentframes["iframeTest"];
//使用documentgetElementById("iframeTest");同样可以
alert(iframeTestdocumentbodyinnerHTML);
alert(iframeTestiFrameVair);
}
</script>
</head>
<body>
<form name="form1"
id="form1">
<input type="text" name="username"
id="username"/>
<input type = "button" value =
"父窗口调用IFrame子窗口中的内容" onclick = 'parentInvokeIFrame()'/>
</form>
<iframe src="bhtml" width = '100%' id =
'iframeTest'></iframe>
</body>
</html>
1bhtml
Html代码
<html>
<head>
<title></title>
<script
type="text/javascript">
/
为测试父窗体调用IFrame子窗体的全局函数而添加的子窗口全局函数 /
var iFrameVair =
"测试父窗体调用IFrame子窗体的全局函数";
function
UpdateParent()
{
var _parentWin =
windowparent ;
_parentWinform1usernamevalue = "xxxx"
;
}
function
childInvokeParent()
{
var parentVairous =
windowparentwindowparentVairous;
alert(parentVairous);
}
</script>
</head>
<body>
<form name="form1"
id="form1">
<p> </p>
<p
align="center">
<input type = "button"
name = "button"
id =
"button"
value = "更新主页面的UserName内容"
onclick = "UpdateParent()">
<input type = "button"
name = "button2"
id = "button2"
value
= "测试IFrame子窗口调用父窗口的全局变量"
onclick =
"childInvokeParent();"/>
</p>
<p>
</p>
</form>
</body>
</html>
ps:不能跨域获取,例如iframe的src是'>
前js页面与另一个html页面之间有没有父子关系?
没有的话就直接在url中附加参数,在另一个页面js中使用:locationsearch获取参数部份后再进行处理
有的话就使用父子窗口的 *** 作方法[iframe内嵌子页面,id=myframe]
父窗口 *** 作子窗口:
documentgetElementById("myframe")contentWindow变量名=值;
documentgetElementById("myframe")contentWindow函数名();
子窗口 *** 作父窗口:
parent变量名=值;
parent函数名();
JS子窗口调用父窗口的方法:
框架(iframe)形式,这时用到是windowparent, windowparent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。可以用这一点特性来判断这个窗口是否是顶层窗口。详情如下:
1、1html代表的是父窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "<html xmlns="
<head>
<meta
2、2html代表的子窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "<html xmlns="
<head>
<meta ;
这时在子窗口(iframe窗口)所做的改变,会改变父窗口中username的值。
以上就是关于javascript 子页面调用父页面中的js方法function test()全部的内容,包括:javascript 子页面调用父页面中的js方法function test()、急:js 如何在子页面触发父页面的某个按钮、js中如何在一个页面中给另外一个页面的id赋值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)