在后台系统或者系统类的基于B/S架构的软件,通常用iframe总体布局是这样的:
上部分为top规划一些头部信息,公共按钮:修改个人信息、退出、注册等等。
左侧为功能模块列表菜单为left.jsp
中间的部分为最重要的主要页面main.jsp
通常因为某些原因导致session失效或者非法访问,非法请求,如果利用框架可以很方便的拦截并跳转到登录页面,但是所有的跳转主页都是在main.jsp中进行的会造成如下结果
如果出现这样的状况,只需要在login.jsp页面中加入这样一段js代码即可
<script type="text/javascript">
var _topWin = window;
while(_topWin != _topWin.parent.window){
_topWin = _topWin.parent.window;
}
if (window != _topWin){
_topWin.document.location.href = '${ctx }/login.jsp';
}
</script>
主要原理是凡是加载login.jsp页面的时候,当此前window不是最顶层的window时(iframe造成的)把当前window设置到最顶层window,最后跳转界面即可。