您现在的位置是:首页 > 技术交流技术交流
框架处理:退出系统时跳出frame框架
2015-11-09【技术交流】1740 人已围观
简介传统的系统界面,有iframe页面,当用户退出系统或者session过期或者非法请求时,都要使当前页面跳转到登录页面。比如用户点击注销的按钮在上面得top.js...
传统的系统界面,有iframe页面,当用户退出系统或者session过期或者非法请求时,都要使当前页面跳转到登录页面。比如用户点击注销的按钮在上面得top.jsp里面,方法:<a href=\"../login/action_logout.do\">退出系统</a>退出之后你会发现,只是刷新了top.jsp上面那个iframe,其他两个还在,当然不允许这样啦。解决办法大致有几种
常规的退出系统无非就是两种方式,一个是点击超链接,页面跳转到登录页面,另一个就是点击页面元素,触发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中加入脚本
function window.onload()
{
if(window.parent.length>0)
window.parent.location=location;
}
或
<script type=\"text/javascript\">
if (top.location !== self.location) {
top.location=self.location;
}
</script>
或
<script language=\"JavaScript\">
if (window != top)
top.location.href = location.href;
</script>
当登录页面在frame中加载过程中,会触发这段js代码,从而判断是不是顶级窗体而自动跳转。
这两种方法的区别就在于一个是提交请求之前对请求进行处理,另外一个是请求回来以后进行处理。
以上第一种方法是最简单的方式。
关注宁波网站建设博客,更多精彩分享,敬请期待!
Tags:
很赞哦! ()
相关文章
随机图文
-
js jquery新打开窗口与新开标签页
在项目中我们设置了一个网友点击下载提示输入邮箱的功能, 如果输入的邮箱正确格式就可以下载样本,这是需要新开窗口而不是把原窗口给关闭了.这... -
网站不规则方块背景制作一例
如上图中这种形状规则而颜色分布不规则的色块背景是如何制作的呢?殷雯网络为大家详细解说制作步骤。 首先,新建文档(尽量使用正方形),随意填... -
IIS服务器支持mp4视频播放的设置
视频展示在企业官网的展示中经常用到,服务器一般默认情况下不支持mp4等格式,是为了防止服务器上出现大流量的网站.那么我们如何设置呢IIS... -
Dede网站修改模板路径保护网站模板常见方法
有的时候我们是直接复制一个templets\\default文件夹修改掉名字来达到修改模版路径的目的,但是如果自己做的模板,往往很多地方考虑...