用JS实现子父窗口之间的操作
2007-12-10 10:59:37 来源:WEB开发网用window.open打开的子父窗口之间的操作跟框架的是不一样的,子窗口和父窗口之间有opener来联系。而源窗口要访问子窗口要通过其句柄来操作。以下小例子希望能帮助新手更了解他们的操作。
test.htm
<html>
<head>
<meta http-equiv=Content-Type content=text/html; charset=gb2312>
<meta name=GENERATOR content=Microsoft FrontPage 4.0>
<meta name=ProgId content=FrontPage.Editor.Document>
<title>子父窗口的操作</title>
</head>
<body>
<script>
var win=null;
function op(){
win=window.open(about:blank,win,width=200,height=200);
win.document.write(<input type=button value=关闭父窗口 onclick=window.opener.opener=null;window.opener.close()>);
win.document.write(<input type=button value=刷新你窗口 onclick=window.opener.location.reload()>);
}
</script>
<input onclick=op() value=打开窗口 type=button><input type=button value=最小化 onclick=if(win&&win.open&&!win.closed){win.resizeTo(0,0);win.moveTo(0,window.screen.width);}else alert(还没有打开窗口或已经关闭)><input type=button value=最大化 onclick=if(win&&win.open&&!win.closed){win.moveTo(-4,-4);win.resizeTo(screen.availWidth+8,screen.availHeight+8);}else alert(还没有打开窗口或已经关闭);><input type=button value=关闭子窗口 onclick=if(win&&win.open&&!win.closed){win.opener=null;win.close()}else alert(还没有打开窗口或已关闭)><input type=button value=刷新子窗口 onclick=if(win&&win.open&&!win.closed){win.location.reload();win.focus()}else alert(窗口还没有打开或已关闭)><input type=button value=看子窗口的大小 onclick=if(win&&win.open&&!win.closed){alert(win.document.body.clientWidth+*+win.document.body.clientHeight);win.focus();}else{alert(还没有打开窗口或者已关闭)};>
</body>
</html>
运行效果如下:
以上只供参考,有错请纠正,谢谢!
技术交流 永无止境
更多精彩
赞助商链接