easyUI iframe中请求Session失效后iframe内跳转到首页的解决方案
最近用户easyUI搭了一套前端,后台是spring mvc + shiro,如果前端页面超过session过期时间再操作,iframe内的内容就会跳转到登录页面,而不是整个页面跳转到登录页。
原因:iframe内的请求因为请求超时后返回登录页面,还是会填充到iframe中。
解决方案:
1. 登录页中的body部分加入判断,载入页面时如果发现当前窗口不是顶级窗口,就将顶级窗口的内容更新为当前窗口的内容。
部分代码如下:
</script>
//判断当前窗口是否有顶级窗口,如果有就让当前的窗口的地址栏发生变化,
function loadTopWindow(){
if (window.top!=null && window.top.document.URL!=document.URL){
window.top.location= document.URL; //这样就可以让登陆窗口显示在整个窗口了
}
}
</script>
</head>
<body onload="loadTopWindow()"> // 页面加载时进行判断
问题:登录后直接跳转到之前请求页面
iframe请求失效重新登录后直接跳转到请求内容页面的解决方案