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

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

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

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

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

解决方案:

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

<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()">

 
 



你可能感兴趣的:(重新登录后跳转到请求内容页面)