日期:2014-05-16  浏览次数:20371 次

在parent关闭的情况下,如何判断弹一个页面是否已经open?
page1点击按钮弹出page2,在page2中关闭page1。然后我再打开page1,并再次点击按钮,这个时候,page2还是在之前open出page2的页面中打开。
我希望可以在第二次点击page1页面上的按钮时,先判断page2的窗口是否已经存在,如果存在则关闭,并且重新open出page2。应该如何实现?
page1.jsp中
var   url   =   "page2.jsp ";
var   newWin   =   window.open(url, "newWin ");
document.myForm.target   =   "newWin ";
document.myForm.submit();
在page2.jsp的onload事件中执行
window.opener.opener   =   window.opener.location;
window.opener.close();
self.focus();
这样做的目的是弹出子页面,并关闭父页面,而且不出现关闭提示。
但现在发现,弹出page2.jsp后,再打开page1.jsp,再次弹出页面时,page2.jsp是在newWin中装入,而不是重新弹出一个页面。
我想判断newWin是否已经打开,如果打开则关闭newWin,然后重新open一个叫newWin的窗口。
如何实现?谢谢

------解决方案--------------------
if(newWin)newWin.close();

PS:不提示关闭窗口只要
window.opener = null;
window.close();
即可
------解决方案--------------------
第一个问题
open的时候第二个参数名字写一样,别写成关键字就可以了
------解决方案--------------------
比如,第二个参数是haha
<script>
window.open( "1.htm ", 'haha ')
</script>
------解决方案--------------------
重新装载了,东西也可以变掉了,有什么问题吗?
------解决方案--------------------
document.myForm.target = "newWin ";
---> > >
document.myForm.target = "_blank ";
------解决方案--------------------
var newWin = window.open(url, "newWin ");
前面加一句:

if(window.name== "newWin ") window.name= "abcdefg98765 ";
------解决方案--------------------
把这个文件存成test2.htm,试试看是不是你要的效果:

<html>

<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">

</head>

<body>

<input type=button value= "test " onclick= "if(window.name== 'newWin ') window.name= 'abcde ';window.open( 'test2.htm ', 'newWin ');window.opener=null;window.close() ">

</body>

</html>
------解决方案--------------------
有个函数windows.closed()可以判断,页面是否关闭