前天做了个非模式窗口的功能,发现在别的机器上在模式窗口,非模式窗口打开新窗口时,会出现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对象
分享到:
相关推荐
重定向的时候是有session丢失的问题;window.open丢失session问题;使用框架(Frameset)调用不同域名下的页面,会出现此域下页面的Cookies和Session丢失的现象。
Session丢失原因和解决方案.Session原理
正对java Web项目,同浏览器同时打开两个登录窗口(不同Tag),用不同用户登录,为避免使用同一个Session,需要使用这段代码。否则先登录的用户的Session会变成后登录用户的Session.相关系统使用权限也会变。
Asp.net解决session丢失问题的两种方案,以及session丢失的原因。参考一些网上资料,自己总结出来解决方案,顺便附带两个测试案例。还有不清楚的请联系我QQ:394023002 附加信息:周
IFrame中Session丢失的解决办法
网页session的一些常见问题并解决方案
feign调用session丢失解决方案, Hystrix传播ThreadLocal对象; 自定义熔断策略
tomcat集群session共享问题解决方案,以及应用到的相关资料
分布式解决session共享方案一,可参考
Session原理、Session丢失的原因、Session存储的机制、Session丢失的解决方案
购物车分布式Session处理方案,一个用户的分布式的购物车在集群分布式的情况下怎么处理解决Session共享的问题
asp.net 修改/删除站内目录操作后Session丢失问题
发现新窗口中并获取不到session, 经过使用下面的测试代码测试发现,是因为phpsessionid储存是进程级的有效期,只有同一进程才能获取得到,很多人说,open后或是target=”_blank”,都是会打开新的ie进程, 所以,之前窗口的...
NULL 博文链接:https://sch.iteye.com/blog/1278470
分布式session 解决方案
asp.net Session丢失的问题处理解决方案
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
Memcahed分布式缓存服务替换Session解决方案,解决session复制问题,已在本地实现。
NULL 博文链接:https://vearn.iteye.com/blog/376407
session的丢失原因和解决方案,与viewstate和cookie 的区别