请问在JS中如何判断一个用window.open()方法打开的窗口已经关闭了?

czjcsdn 2007-02-09 10:30:12
用window.open()方法打开一个子窗口后,可以得到这个子窗口的一个引用,并可以通过这个引用知道这个子窗口是否已被打开
var pWin = window.open(url);
if(pWin != null)
//窗口已被打开

但在子窗口关闭后,pWin变量的值却没有恢复成null,请问如何判断子窗口已被关闭了呢?
...全文
2314 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
追峰傲骨 2011-10-27
  • 打赏
  • 举报
回复
学习!
峭沙 2011-10-27
  • 打赏
  • 举报
回复
pWin.closed
lionfox 2011-10-26
  • 打赏
  • 举报
回复
如果是用任务管理器终止open的ie,也是无法捕获的
万绿一点红 2011-10-26
  • 打赏
  • 举报
回复
7楼至理,的确有个.colsed方法判断其实例是否被关闭
xcf007 2010-07-14
  • 打赏
  • 举报
回复
.closed
tonly85 2010-07-13
  • 打赏
  • 举报
回复
我觉得这样做好些:
var pWin = window.open(url);
//判断子窗口是否被打开
if(pWin != null){
//窗口已被打开
}
//判断子窗口是否被关闭
if(pWin.closed==true){
//子窗口已被关闭
}
tonly85 2010-07-13
  • 打赏
  • 举报
回复
2楼的方法,说实话不大可行。window。open()打开的子窗口,带有标题栏的关闭按钮,如何向Openner传值呢。
kyzy_yy_pm 2010-07-13
  • 打赏
  • 举报
回复
window.onbeforeunload()
Acict 2010-07-13
  • 打赏
  • 举报
回复
2楼可行,body unload改变原窗体内容就行了
或者
打开时window.open(window,...)把自己传给子窗口,子窗口关闭时回调原窗口的某个函数

但不管怎么样原窗口没关才行,所以这种场合更适合模式窗口的情况吧
奇奇 2007-02-09
  • 打赏
  • 举报
回复
那你就需要在字窗口关闭的时候给父窗口传一个值才可以了!
最简单的方法,你可以在父窗口中设一个hidden,然后给子窗口关闭的事件里写一个值,来改变hidden的值,你在父窗口就可以检测到是否被关闭了.
下面给出你基本需要用的几个方法key:
1.获得父窗口对象:window.opener
2.隐藏域<input type=hidden name='name'/>
--------------------------
如果还不明白,我再写程序给你啊!
lizhizhe2000 2007-02-09
  • 打赏
  • 举报
回复
if(pWin)
{
//已关闭
}

87,916

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧