日期:2014-05-16  浏览次数:20347 次

最近遇到一个难题,在线希望求解。关于关闭窗口的问题。
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');
我后期换成这个打开方法,结果发现这个方法也不行,因为关闭以后,父页面也会关闭掉,而不是关闭那个弹出的子页面。
js dialog

------解决方案--------------------
我还是第一次见到showModalDialog这个方法。刚搜了下,貌似这个方法是有兼容性问题的。
为什么直接用html写个弹窗呢,容易写,样子也好看。
------解决方案--------------------
用window.close()也不行吗?是不是页面卡住了。
------解决方案--------------------
原因估计是你所谓的经过几次修改保存实际是提交了表单是吧?这样window对象会重置,如果你用原window对象的close方法来关闭肯定就不行了
但关闭按钮肯定不会失效,除非窗口被另外的模态窗口阻塞

现在网页弹窗都不会用showModialog,都是用层模拟,弹新窗口对交互性来说,弊端太多