模式窗口就是不处理它就没法处理父窗口,而非模式对话框就是不用先处理此对话框也可以处理父窗口。
在使用Modal Dialog的时候,弹出多个页面会导致页面新页面session 丢失, 需要重新 login 。测试发现session 丢失的状况在某些版本的IE中出现, 在Firefox中是正常的。
具体的使用状况如下:
有三个文件 file1.jsp ,file2.jsp ,file3.jsp
1. 在file1.jsp 使用 window.showModalDialog 打开file2.jsp。(file2.jsp为Modal Dialog, file2.jsp不关闭的话,无法操作file1.jsp)
2. 在file2.jsp中使用window.open 打开file3.jsp。此时,页面session丢失,需要重新login。
解决方法:
可以把file1.jsp 的window 对象, 通过参数方式传到file2.jsp中
在file2.jsp中打开新页面的时候,使用那个file1.jsp的window对象。
使用如下方式打开file2.jsp
window.showModalDialog("file2.jsp“,window,"");
使用如下方式打开