从iframe框架进入登录页面时跳出iframe到顶层页面

问题描述,开发的easyui项目中使用了iframe框架。当在浏览器打开一个页面登录项目后,再打开一个登录到项目的首页。当从其中一个的页面退出后,如果在另一个页面中点击菜单或其他功能时,请求会被登录拦截器拦截到登录页面。这时,登录页面出现在iframe框架中,而不是整个页面跳转到登录页面。

解决办法,在登录页面中,添加js判断,如果不是顶层框架跳转到登录页面,则将顶层的页面url设置为跳转当前这个iframe框架的页面,也许是一个转发的action,也许是重定向到login.jsp页面。为了逻辑的清晰,最好是在后端的logout方法中,重定向到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;
		}
	},
}

 

你可能感兴趣的:(WEB)