版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xingzhishen/article/details/83859177
问题描述,开发的easyui项目中使用了iframe框架。当在浏览器打开一个页面登录项目后,再打开一个登录到项目的首页。当从其中一个的页面退出后,如果在另一个页面中点击菜单或其他功能时,请求会被登录拦截器拦截到登录页面。这时,登录页面出现在iframe框架中,而不是整个页面跳转到登录页面。
解决办法,在登录页面中,添加js判断,如果不是顶层框架跳转到登录页面,则将顶层的页面url设置为跳转当前这个iframe框架的页面,也许是一个转发的action,也许是重定向到login.jsp页面。为了逻辑的清晰,最好是在后端的logou方法中,重定向到login.jsp。
login.jsp页面中的js判断为:
$(function(){
login.initPage();
});
var login = {
//初始化页面跳转,为了防止从iframe跳转到login页面直接在iframe中显示login页面
initPage : function() {
//alert(location.href);
if(window.top != window.self){
top.location.href = location.href;
}
},
}