JavaScript中子窗口调用父窗口方法与变量

--页面a

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
var theHelloStr = "Hello all.";
var win;
function sayHello()
{
    alert("hello, method");
}

function openBtnClicked()
{
    var newwin=window.open('b.htm',"test","toolbar=no,location=no,top=100,left=100,directories=no,status=yes,menubar=no,scrollbars=yes,location=no,resizable=yes,width=300,height=200");
    newwin.focus();
win= newwin;
}

function sayHello2()
{
    window.sayHello();
}

function closeWindow()
{
   setTimeout(function() {
                win.close();
            }, 3000);
}
</script>
</head>

<body>
<input type="button" name="openBtn" value="打开窗口" onclick="openBtnClicked()" />
</body>
</html>

--页面b

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function btn1Clicked()
{
    window.opener.sayHello();
}
function btn3Clicked()
{
    window.opener.closeWindow();
}
function btn2Clicked()
{
    var helloMsg = window.opener.theHelloStr;
    alert(helloMsg);
}
</script>
</head>

<body>
<input type="button" name="btn1" value="调用父窗口的方法" onclick="btn3Clicked()" />
<input type="button" name="btn2" value="调用父窗口的变量" onclick="btn2Clicked()" />
</body>
</html> 

 

posted @ 2012-08-21 17:05  摆脱菜鸟  阅读(390)  评论(0编辑  收藏  举报