var dialog=DJWindow.showDialog("ydgl_edit.jsp?sqdh="+sqdh+"&expo_info_id="+expo_info_id+"&expo_czsxx_id="+expo_czsxx_id,1200,400,sqdh);//打开明细窗口
dialog.handleReturn=function(){
 window.location.reload();
 DJWindow.systemReady(); //关闭等待框
}

DJWindow是我自己定义的一个js方法,实际上就是window.showModalDialog类似的用法
弹出窗口以后,我需要做几个选择或者保存的动作,然后将结果返回,问题是处在这里,有的时候操作几次以后,这个弹出页面居然无法关闭掉,用window.close()无法关闭,点页面的X也关闭不了,请教有什么方法能够强行关闭这个弹出的页面(ydgl_edit.jsp)
js问题也不报错,换浏览器也会出现这个问题,求解。
或者能提供一下其他的思路也好,
showModalDialog('ydgl_edit.jsp?sqdh='+sqdh+'&expo_info_id='+expo_info_id+'&expo_czsxx_id='+expo_czsxx_id,'example04','dialogWidth:1200px;dialogHeight:400px;dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes');
我后期换成这个打开方法,结果发现这个方法也不行,因为关闭以后,父页面也会关闭掉,而不是关闭那个弹出的子页面。jsdialog

解决方案 »

  1.   

    我还是第一次见到showModalDialog这个方法。刚搜了下,貌似这个方法是有兼容性问题的。
    为什么直接用html写个弹窗呢,容易写,样子也好看。
      

  2.   

    用window.close()也不行吗?是不是页面卡住了。
      

  3.   

    是的,页面是给卡住了,这个兼容性问题还很难处理,用close不行,因为弹出的还有弹出的,要是用close,则两个弹出的就一起关闭掉了。
      

  4.   

    好看还是showModalDialog比较好看。
      

  5.   

    原因估计是你所谓的经过几次修改保存实际是提交了表单是吧?这样window对象会重置,如果你用原window对象的close方法来关闭肯定就不行了
    但关闭按钮肯定不会失效,除非窗口被另外的模态窗口阻塞现在网页弹窗都不会用showModialog,都是用层模拟,弹新窗口对交互性来说,弊端太多
      

  6.   

    主要是有些页面在关闭后还要父页面刷新一下,让数据消失或者状态变化,这个挺讨厌的,要是用单纯的open的方法,这点无法实现。