您的位置:首页 > 其它

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

2017-10-31 18:36 1406 查看
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

<pre name="code" class="html">  //判断当前窗口是否有顶级窗口,如果有就让当前的窗口的地址栏发生变化, //这样就可以让登陆窗口显示在整个窗口了  
    function loadTopWindow(){   
        if (window.top!=null && window.top.document.URL!=document.URL){  
            var urlStr = document.URL;  
             var endIndex = urlStr.indexOf('xxxxx') + 5;  
            urlStr = urlStr.substring(0, endIndex);  
            window.top.location= urlStr + "/timeout.jsp";  // 跳转到提示页  
            //alert(document.URL);  
            //alert(urlStr);  
              
            //window.top.location= document.URL; // 不跳转到首页  
        }   
    }  
</script>  
</head>  
<body onload="loadTopWindow()">  

版权声明
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: