window.open全局范围变量javascript

时间:2011-07-12 21:51:37

标签: javascript global window.open

任何人都可以告诉我如何使用全局范围变量以便我可以从“window2”关闭“窗口1”吗?这真的让我陷入循环,所以任何帮助都会很棒!

我有一个带有1个链接和1个按钮的index.html。按钮打开窗口1,链接打开窗口2.我希望窗口2有一个可以关闭窗口1的按钮。如果可以,请帮助!!感谢!!!

<script type="text/javascript">
function openWin1()
{
myWindow=window.open('','','');
myWindow.document.write("<p><img src=\"flower.jpg\" /></p>");
myWindow.focus();
}
function openWin2()
{
myWindow=window.open('','','');
myWindow.document.write("<style type=\"text/css\">body{background-color:yellow;}</style>
<p><img src=\"bee.jpg\" /></p><input type=\"button\" onclick=\"window.close();\" 
value=\"Close Window 1\" />");
myWindow.focus();
}
</script>
</head>

<body>

<input type="button" value="Window 1" onclick="openWin1();" /><br />
<a href="javascript:openWin2();">Window 2</a>

</body>
</html>

3 个答案:

答案 0 :(得分:1)

在本地测试过(在Chrome中运行,也可以在其他浏览器中使用):

function openWin1() {
    myWindow1 = window.open('google.com', '', '');
    myWindow1.document.write("<p><img src=\"flower.jpg\" /></p>");
    myWindow1.focus();
}

function openWin2() {
    myWindow2 = window.open('yahoo.com', '', '');
    myWindow2.document.write("<style type=\"text/css\">body{background-color:yellow;}</style><p><img src=\"bee.jpg\"></p><input type=\"button\" onclick=\"window.opener.myWindow1.opener = window.self;window.opener.myWindow1.close();\" value=\"Close Window 1\" />");
    myWindow2.focus();
}

答案 1 :(得分:0)

从第二个窗口使用window.opener.mywindow.close()先关闭。为第二个窗口对象选择其他变量名称

答案 2 :(得分:0)

“window1”和“window2”都可以通过window.opener引用原始页面。因此,您的原始页面可以显示一个全局函数,其他任何一个页面都可以像这样调用:

window.opener.closeTheOtherOne();