模式窗口,非模式窗口新打开窗口session丢失问题解决方案

前天做了个非模式窗口的功能,发现在别的机器上在模式窗口,非模式窗口打开新窗口时,会出现session丢失的情况。分析了一下,解决了这个问题。
先看看session的有效范围。
在IE中,session有效的窗口包括:
1.建立Session对象只的窗口。
2.建立Session对象的窗口中新开链接的窗口。

在IE中,session对象无效的窗口包括:
1.直接启动IE浏览器的窗口。
2.不是在建立Session对象的窗口中新开链接的窗口。

所以,在模式窗口或者非模式窗口打开新窗口会session丢失,则可以考虑在模式窗口或者非模式窗口调用父窗口的方法来打开新窗口。
代码如下:

1.在父窗口中打开模式窗口、非模式窗口。
showModelessDialog("test.jsp",window,"");


2.在父窗口定义打开新窗口的函数
function open(src){
window.open(src);
}


3.在模式窗口、非模式窗口调用父窗口方法
window.dialogArguments.open(src);

注意一点是,通过window.dialogArguments得到父窗口对象,需要在父窗口打开模式、非模式窗口时,第二个参数是window对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值