登录请求超时,后台跳转登录页面时,是在子界面显示登录页面的问题

来源:互联网 发布:金和软件官网 编辑:程序博客网 时间:2024/05/22 02:16

转 http://blog.csdn.net/chwshuang/article/details/48009185

iframe请求失效重新登录后直接跳转到请求内容页面的解决方案

上一篇文章讲到easyUI iframe中请求Session失效后iframe内跳转到首页,首页只在iframe中显示,没有填充整个页面,通过判断window.top是否为空或者URL是否一致来解决:easyUI iframe中请求Session失效后iframe内跳转到首页的解决方案

不过还有一个问题,就是登录成功以后,发现浏览器直接跳转到iframe内容的页面了,如果iframe外有父页面,父页面是不显示的。

原因:目前浏览器,后台应用都支持请求保存,如果请求失败后,会保存请求,等登录后再继续执行请求。

解决方案:

1. 如果登录失败,将请求地址指向登录页面前,先跳转到会话超时提示页面,然后在提示页提示重新登录,重新登录按钮指向登出,登出完成后自动会跳转到登录页面。

[html] view plain copy
  1. <pre name="code" class="html">  //判断当前窗口是否有顶级窗口,如果有就让当前的窗口的地址栏发生变化, //这样就可以让登陆窗口显示在整个窗口了  
  2.     function loadTopWindow(){   
  3.         if (window.top!=null && window.top.document.URL!=document.URL){  
  4.             var urlStr = document.URL;  
  5.              var endIndex = urlStr.indexOf('xxxxx') + 5;  
  6.             urlStr = urlStr.substring(0, endIndex);  
  7.             window.top.locationurlStr + "/timeout.jsp";  // 跳转到提示页  
  8.             //alert(document.URL);  
  9.             //alert(urlStr);  
  10.               
  11.             //window.top.locationdocument.URL; // 不跳转到首页  
  12.         }   
  13.     }  
  14. </script>  
  15. </head>  
  16. <body onload="loadTopWindow()">  




版权声明


阅读全文
0 0
原创粉丝点击