如何退出框架
Posted 但为君故L
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何退出框架相关的知识,希望对你有一定的参考价值。
常规的退出系统无非就是两种方式,一个是点击超链接,页面跳转到登录页面,另一个就是点击页面元素,触发js事件,使当前页面跳转。
1、利用超链接属性中target="_parent"。
在超链接中加入target属性<a href="../login/action_logout.do" target="_parent">退出系统</a> 就可以了,他的原理相当于目标页面替换当前的父窗体,而不是当前操作的窗体。
target属性值的含义:
_blank:新建窗口、_self:相同窗口、_parent:父窗口、_top:首窗口
2、利用js
1)<a href="#" onclick=top.location.replace("logout.action")>退出</a>
在logout()函数中将session清空,返回的登录页面就会全屏显示登录页面.他的原理相当于在请求发送前,把请求的页面替换成当前页面最顶级的frame,这样返回的页面理所应当的会替换整个页面的内容。
2)在login.jsp中加入脚本
1
2
3
4
5
|
function window.onload() { if (window.parent.length>0) window.parent.location=location; } |
或
1
2
3
4
5
|
if (top.location !== self.location) { top.location=self.location; } </script> |
或
1
2
3
4
|
<script language= "JavaScript" > <span style= "white-space:pre" > </span> if (window != top) <span style= "white-space:pre" > </span>top.location.href = location.href; </script> |
当登录页面在frame中加载过程中,会触发这段js代码,从而判断是不是顶级窗体而自动跳转。
这两种方法的区别就在于一个是提交请求之前对请求进行处理,另外一个是请求回来以后进行处理。
以上是关于如何退出框架的主要内容,如果未能解决你的问题,请参考以下文章
使用 onBackPressed 仅从第一个片段退出 App