Dusy

---狂奔的蜗牛
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

打开子页面,关闭父页面时,去掉关闭确认的解决办法

Posted on 2007-11-28 17:41  Dusy  阅读(1830)  评论(0编辑  收藏  举报

Dusy 20071128
在IE6中,如果window.open一个子页面后,再关闭父页面,如果直接window.close()父页面,会弹出一个关闭确认的消息框,怎么去掉这个烦人的东西呢?以登录窗口为例,在login页面可以这样写:
Window.open(‘mian.aspx’,’main’,’’);//打开主页面
Window.opener=null;//加上这句话,就去掉关闭确认的消息框了
Window.close();
  但在IE7中,上面的办法就不灵了。查了些资料,终于拿下这个顽症:
Window.open(‘mian.aspx’,’main’,’’);//打开主页面
var obj=window.open('close.html','_self'); //解决问题的关键
 obj.opener =window;
obj.focus();
 这个顽症的药方是在打开主页面后,再打开一个close.html,并且name参数一定是’_self’,我们把window.close()这句话写在close.html的script中,再次运行,烦人的关闭确认消息框不见了。
   研究发现,close.html是覆盖了login.aspx这个页面的,再关闭close.html,当然也就把login.aspx关闭了.