if(!top.opener.closed)top.opener.location.reload();top.close();
求解这句话的意思~~top指的是不是模式窗口window.showModalDialog 还是window.open 窗口

解决方案 »

  1.   

    你把上面部分代码发上来才能看出是是什么类型的
    就是 类型 top=null;那个位置的代码
      

  2.   

    1.打开一个window.showModalDialog简称窗口(1).
    2.窗口(1)中submit()提交处理
    3.返回<script language='JavaScript'>\n var a = window.showModalDialog('/personal/mycalendar/htm/Success.htm','','dialogwidth=320px; dialogheight=140px; status=no');\n if(!top.opener.closed)top.opener.location.reload();top.close();\n\n</script>
    这么一段js代码 !然后报错top.opener.closed为空!修改窗口(1)window.showModalDialog为 window.open 一切正常可以刷新父页面!单问题是window.open会打开一个新标签 全屏显示~~~~我想让他以窗口的形式显示!
      

  3.   

    1.打开一个window.showModalDialog简称窗口(1).
    2.窗口(1)中submit()提交处理 ;然后在窗口(1)中写一段js window.close();
    3.返回<script language='JavaScript'>\n var a = window.showModalDialog('/personal/mycalendar/htm/Success.htm','','dialogwidth=320px; dialogheight=140px; status=no');\n top.location.reload();\n\n</script>
    这样就可以了 
    如果你用ajax提交的话 如下就更完美了
    1.打开一个window.showModalDialog简称窗口(1).
    2.窗口(1)中submit()提交处理 ;doAjax(){
    sbumit something...//
    window.returnValue=true;window.close();
    }
    3.返回<script language='JavaScript'>\n var a = window.showModalDialog('/personal/mycalendar/htm/Success.htm','','dialogwidth=320px; dialogheight=140px; status=no');\n if(!a){return;}top.location.reload();\n\n</script>
    showModalDialog是IE特有的方法 其他浏览器不通用  现在基本都用div+js来实现 
      

  4.   

    上边的兄弟 谢谢你的回答! 我按照你说的把修改为top.location.reload();
    但是父页面也就是 打开 窗口(1)的页面没有实现刷新!
    父页面(简称 父1)流程是这样的 首先 (父1) 中数据点击一条进入 (窗口1),
    在(窗口1)中进行修改 然后submit提交!业务处理快处理结束后!
    饭后一段js 这段js首先 加载一个window.showModalDialog模式的成功窗口(窗口2)!
    然后刷新(父1)接着关闭 (窗口1);我也试着把刷新(父1)放在加载成功窗口(窗口2)前还是不行不能实现刷新父1