在WEB应用中,一般通过监控SESSION来判断用户是否登录、或是否发呆时间过长。如果SESSION过期或用户未登录,用户再次向服务器请求资源的时候,就跳转(重定向)到登录页面。
  可实际上,用户在请求资源的时候,页面的状态可能有多种:带框架的页面、window.open()函数打开的窗口。这时候跳转(重定向)到登录页面就会有问题。其实可以拿过一个简单的脚本来解决这个问题:

 

 
  
  1. <script type="text/javascript">  
  2.     if(window.opener){  
  3.         //若是弹出的打开窗口,刷新父窗口,就关闭本窗口  
  4.         window.open.reload();  
  5.         window.close();  
  6.     }  
  7.     else{  
  8.         var topwin = window.parent;  
  9.         //找到顶层窗口  
  10.         while(topwin!= topwin.parent){  
  11.             topwin = topwin.parent;  
  12.         }  
  13.         if(window.parent!=window)  
  14.             topwin.location.href=  
  15.                 "${pageContext.request.contextPath}/index.jsp";  
  16.     }  
  17. </script>