当前位置: 代码迷 >> JavaScript >> JS子窗口刷新父窗口后,封锁自己
  详细解决方案

JS子窗口刷新父窗口后,封锁自己

热度:367   发布时间:2013-06-26 14:29:32.0
JS子窗口刷新父窗口后,关闭自己!

一:子窗口刷新父窗口后,关闭子窗口

?

1:,<script?language=JavaScript>?

?

? ? ?self.opener.location.reload();?

?

? ? ? ?window.opener=null;

?

? ? ? ?window.close();


??
</script>

2,<script type="text/javascript">

? ? ? ? ? ?function closeWin(){

? ? ? ? ? ? ? ? ?// 可能存在frame页面,所以要引用top窗口.

? ? ? ? ? ? ? ? ? ? var win = top.window;

? ? ? ? ? ? ? ? ? ? try{

? ? ? ? ? ? ? ? ? ? ? ? ?// 聚焦.

? ? ? ? ? ? ? ? ? ? ? ? ?if(win.opener) ?win.opener.focus();

? ? ? ? ? ? ? ? ? ? ? ? ?// 避免IE的关闭确认对话框.

? ? ? ? ? ? ? ? ? ? ? ? ?win.opener = null;

? ? ? ? ? ? ? ? ? ? ? ? ?}catch(ex){

? ? ? ? ? ? ? ? ? ? ? ? // 防止opener被关闭时代码异常。

? ? ? ? ? ? ? ? ? ? ? ? ?}finally{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? win.close();

? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? ?// 刷新打开本窗口的opener窗口.

? ? ? ? ? ? ? ? function refreshOpener(){

? ? ? ? ? ? ? ? // 可能存在frame页面,所以要引用top窗口.

? ? ? ? ? ? ? ? ? ? var win = top.window;

? ? ? ? ? ? ? ? ? ? try{

? ? ? ? ? ? ? ? ? ? // 刷新.

? ? ? ? ? ? ? ? ? ? ? ? if(win.opener) ?win.opener.location.reload();

? ? ? ? ? ? ? ? ? ? ? ? ? }catch(ex){

? ? ? ? ? ? ? ? ? ? ? ? // 防止opener被关闭时代码异常。

? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ?}

?

? ? ? ? ? ? ? ? ? ? // 刷新opener窗口后关闭自己。

? ? ? ? ? ? ? ? ?function refreshOpenerAndCloseMe(){

? ? ? ? ? ? ? ? ? ? ? refreshOpener();

? ? ? ? ? ? ? ? ? ? ? closeWin();

? ? ? ? ? ? ? ? ? ? }?? ?

?

? ? ?</script>

  相关解决方案