在WEB应用中,一般通过监控SESSION来判断用户是否登录、或是否发呆时间过长。如果SESSION过期或用户未登录,用户再次向服务器请求资源的时候,就跳转(重定向)到登录页面。
可实际上,用户在请求资源的时候,页面的状态可能有多种:带框架的页面、window.open()函数打开的窗口。这时候跳转(重定向)到登录页面就会有问题。其实可以拿过一个简单的脚本来解决这个问题:
- <script type="text/javascript">
- if(window.opener){
- //若是弹出的打开窗口,刷新父窗口,就关闭本窗口
- window.open.reload();
- window.close();
- }
- else{
- var topwin = window.parent;
- //找到顶层窗口
- while(topwin!= topwin.parent){
- topwin = topwin.parent;
- }
- if(window.parent!=window)
- topwin.location.href=
- "${pageContext.request.contextPath}/index.jsp";
- }
- </script>